2016-11-21 2 views
1

Чтобы настроить универсальные ссылки для приложения iOS, я создал файл ассоциации с яблочным приложением и разместил он в/общедоступном каталоге моего приложения Rails.Как установить правильный тип контента для файла привязки файла apple-app-site на Nginx/Rails

Я могу скрутить его по правильному адресу, но он возвращает неправильный тип содержимого. Вместо application/json или application/pkcs7-mime возвращает application/octet-stream, как вы можете видеть в ответ здесь:

curl -i https://example.com/apple-app-site-association 

HTTP/1.1 200 OK 
Server: nginx/1.10.1 
Content-Type: application/octet-stream 
Content-Length: 245 
Last-Modified: Mon, 21 Nov 2016 12:45:00 GMT 
Strict-Transport-Security: max-age=31536000 

{ 
    "applinks": { 
    "apps": [], 
    "details": [ 
     { 
     "appID": "APPPREFIX.com.mycompany.app", 
     "paths": [ 
      "/home*" 
     ] 
     } 
    ] 
    } 

Я пытаюсь указать Content-Type в конфигурации Nginx:

/etc/nginx/sites/sites-available/sitename: 

server { 
    ... 
    location /apple-app-site-association { 
     default_type application/pkcs7-mime; 
    } 
} 

Я сохранил это изменить и перезапустить nginx. Это не имеет никакого значения для ответа от curl. Я также пробовал location /public/apple-app-site-association {} и несколько других вариантов, без каких-либо эффектов.

Каков правильный способ настройки nginx для доставки этого файла с правильным типом контента?

ответ

0

Оказывается, файл конфигурации nginx описывал два сервера, и я добавлял фрагмент местоположения в неправильный.

Когда я добавил его к правильному и перезарядил Nginx, файл был возвращен с ожидаемым типом содержимого:

HTTP/1.1 200 OK 
Server: nginx/1.10.1 
Content-Type: application/pkcs7-mime 
Content-Length: 245 

{ 
"applinks": { 
"apps": [], 
"details": [ 
    { 
    "appID": "APPPREFIX.com.mycompany.app", 
    "paths": [ 
     "/home*" 
    ] 
    } 
] 

}