Не удалось угадать mimetype

На тестовом сервере goapp serv он работает, на самом appengine он перезаписывается приложением/октетом-потоком.

Как я могу сказать appengine, чтобы прекратить это делать?

Could not guess mimetype for home/fonts/FontAwesome.otf. Using application/octet-stream...

Мой конфигурационный файл:

application: test
version: 0
runtime: go
api_version: go1
threadsafe: true

handlers:
 - url: /home
   static_dir: home

 - url: /home/font/(.*\.woff)
   static_files: home/font/\1
   upload: home/font/(.*\.woff)
   http_headers:
    Content-Type: application/font-woff

 - url: /home/font/(.*\.svg)
   static_files: home/font/\1
   upload: home/font/(.*\.svg)
   http_headers:
    Content-Type: image/svg+xml

 - url: /home/font/(.*\.eot)
   static_files: home/font/\1
   upload: home/font/(.*\.eot)
   http_headers:
    Content-Type: application/vnd.ms-fontobject

 - url: /home/font/(.*\.ttf)
   static_files: home/font/\1
   upload: home/font/(.*\.ttf)
   http_headers:
    Content-Type: application/x-font-ttf

 - url: /home/font/(.*\.otf)
   static_files: home/font/\1
   upload: home/font/(.*\.otf)
   http_headers:
    Content-Type: application/x-font-otf

 - url: /favicon.ico
   static_files: home/favicon.ico
   upload: home/favicon.ico

 - url: /documentation
   static_dir: documentation

 - url: /.*
   script: _go_app

inbound_services:
 - warmup

Ответы

Ответ 1

Я считаю, что причина, по которой он работает локально, заключается в том, что ваша система имеет необходимый тип mime, определенный для расширения .otf в /etc/mime.types или эквиваленте.

AppEngine, вероятно, не имеет этого. Поэтому вы должны дать ему подсказку о правильном типе MIME. Похоже, вы пытаетесь это сделать, но вы используете "http_headers". Вместо этого попробуйте "mime_type":

  - url: /home/font/(.*\.otf)
    static_files: home/font/\1
    upload: home/font/(.*\.otf)
    mime_type: application/x-font-otf

Я надеюсь, что это сработает для вас. Документация находится по адресу:

https://developers.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Static_file_handlers

Ответ 2

Также стоит отметить, что общее правило должно продолжаться последним, например:

handlers:
- url: /static/fonts/(.*\.otf)
  static_files: static/fonts/\1
  upload: static/fonts/(.*\.otf)
  mime_type: application/x-font-otf

- url: /static/fonts/(.*\.ttf)
  static_files: static/fonts/\1
  upload: static/fonts/(.*\.ttf)
  mime_type: application/x-font-ttf

- url: /static
  static_dir: static