Ошибка 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 не найден. предлагаемые шаги

  1. Проверьте свой пакет сборки (который теперь обновляется как пакеты сборки в файле манифеста)
  2. проверьте команду или папку 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/

Другие вопросы по тегам