当我尝试使用Concourse CI将静态网站部署到Pivotal Web Services时遇到错误。我想使用 static_buildpack 推送静态网站。 index.html 放在根文件夹中。当我使用 cf push 命令将代码从命令行直接推送到Pivotal Web Services时,一切正常。
当我使用大厅管道时,构建成功终止,但是在访问网站时出现错误。尝试访问该网站时出现 nginx 403 Forbidden 错误。我使用以下管道尝试了以下清单(见下文)。使用Concourse CI时,容器成功创建,使用buildpack,安装nginx并上传Droplet。应用程序本身成功启动
Cloud Foundry Logs显示以下错误:
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
上找到答案 0 :(得分:0)
nginx 403 Forbidden 主要发生在没有找到 index.html 时。建议步骤
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} 文件夹下)
答案 1 :(得分:0)
您必须确保 index.html
和其他角度静态文件直接存在于 public/
文件夹中,而不是在诸如 public/your-app-name/
之类的内容中