【发布时间】:2017-09-05 09:12:30
【问题描述】:
当我尝试使用 Concourse CI 将静态网站部署到 Pivotal Web 服务时遇到错误。我想使用 static_buildpack 推送一个静态网站。 index.html 放置在根文件夹中。当我使用 cf push 命令将代码从命令行直接推送到 Pivotal Web 服务时,一切正常。
当我使用大厅管道时,构建成功终止,但是在访问网站时出现错误。我在尝试访问网站时收到 nginx 403 Forbidden 错误。我使用以下管道尝试了以下清单(见下文)。使用 Concourse CI 时,容器创建成功,使用 buildpack,安装 nginx 并上传 droplet。应用程序本身已成功启动。
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
管道.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找到
【问题讨论】:
-
我建议您在将应用实例部署到 PWS 上后将其
cf ssh发送到您的应用实例并环顾四周。 a.) 确保您的文件已上传 b.) 它们位于预期的位置,即public/目录和 c.) 验证已到位的 nginx 配置。看起来文件不存在或不在正确的路径中。 Nginx 说它不允许给你目录索引,我相信当没有 index.html 文件并且是预期的(默认禁用目录索引)时会发生这种情况。
标签: nginx cloud-foundry concourse