Ошибка NGINX при развертывании статического сайта с Concourse CI
Я сталкиваюсь с ошибкой при попытке развернуть статический веб-сайт в Pivotal Web Services с Concourse CI. Я хочу выдвинуть статический сайт, используя static_buildpack. Index.html помещается в корневую папку. Когда я передаю код из командной строки непосредственно в Pivotal Web Services с помощью команды cf push, все работает нормально.
Когда я использую конвейер конкурса, сборка успешно завершается, однако при доступе к веб-сайту возникает ошибка. Я получаю ошибку nginx 403 Forbidden при попытке доступа к сайту. Я попробовал следующий манифест со следующим конвейером (см. Ниже). При использовании Concourse CI контейнер создается успешно, используется buildpack, nginx устанавливается и дроплет загружается. Само приложение запускается успешно.
Журналы Cloud Foundry показывают следующую ошибку:2017/09/05 08:42:54 [error] 70#0: *3 directory index of "/home/vcap/app/public/" is forbidden, client: <ip>, server: localhost, request: "GET / HTTP/1.1", host: "agencydemo.cfapps.io"
manifest.yml
---
applications:
- name: agencyDemo
memory: 64M
buildpack: staticfile_buildpack
host: agencyDemo
pipeline.yml
resources:
- name: app_sources
type: git
source:
uri: https://github.com/smichard/CloudFoundryDemo
branch: master
- name: staging_CloudFoundry
type: cf
source:
api: {{pws_api}}
username: {{pws_user}}
password: {{pws_password}}
organization: {{pws_org}}
space: {{pws_space}}
skip_cert_check: false
jobs:
- name: deploy-website
public: true
serial: true
plan:
- get: app_sources
trigger: true
- put: staging_CloudFoundry
params:
manifest: app_sources/manifest.yml
Исходный код можно найти на GitHub
3 ответа
Другим решением является исправление
path
-атрибут в вашем
manifest.yml
следующим образом:
---
applications:
- name: agencyDemo
memory: 64M
buildpack: staticfile_buildpack
host: agencyDemo
path: ./dist/your-app-name
nginx 403 Запрещено в основном, когда index.html не найден. предлагаемые шаги
- Проверьте свой пакет сборки (который теперь обновляется как пакеты сборки в файле манифеста)
- проверьте команду или папку dist
cf push -p ./dist/ -f manifest-{your_envireonment}.yml --no-start (если ваш index.html находится непосредственно в папке dist)
или же
cf push -p ./dist/{your_app_name} -f manifest-{your_envireonment}.yml --no-start (если ваш index.html находится в папке dist / {your_app_name})
Вы должны убедиться, что
index.html
и другие статические файлы angular непосредственно присутствуют внутри
public/
папка, а не что-то вроде
public/your-app-name/