Чтобы настроить CORS с помощью Staticfile Buildpack:
Создайте файл с именем Staticfile
со следующим содержимым:
root: public
location_include: includes/*.conf%
Убедитесь, что файлы, которые должно обслуживать ваше приложение, находятся в папке public
.
Создайте файл nginx/conf/includes/headers.conf
(с его родительскими папками) со следующим содержимым:
add_header 'Access-Control-Allow-Origin' '*';
Вот и все! После следующего cf push
будет установлен заголовок CORS.
Для большей ясности см. Также официальный пример кода include_headers_public
.
Объяснение
Начиная с документации Staticfile Buildpack :
Если вы создадите файл с именем Staticfile
и найдете его в каталоге сборки вашего приложения, Cloud Foundry автоматически используетСборка статического файла при запуске приложения.
(это означает, что вам не нужно указывать staticfile_buildpack
в вашем manifest.yml
)
Затем следуйте инструкциям в Custom Location
.
Настраиваемое расположение позволяет указать пользовательские определения местоположения с дополнительными директивами.
Чтобы настроить блок местоположения файла конфигурации NGINX, выполните следующие действия. ниже.
Установите альтернативный каталог root
. Свойство location_include
работает только в сочетании с альтернативным root
.
Создать файл с директивами NGINX в области расположения. В следующем примере показано, как посетители вашего сайта получают заголовок X-MySiteName
HTTP:
- Файл:
nginx/conf/includes/custom_header.conf
- Содержимое:
add_header X-MySiteName BestSiteEver;
Установите переменную location_include
в вашем Статическом файле на путь к файлу из предыдущего шага. Этот путь относится к nginx/conf
.
Пример:
root: public
location_include: includes/*.conf