使用Concourse CI部署静态网站时发生NGINX错误
我在尝试使用Concourse CI将静态网站部署到关键Web服务时遇到错误。我想使用static_buildpack推送一个静态网站。index.html放在根文件夹中。当我使用cf push命令将代码从命令行直接推送到Pivotal Web服务时,一切正常。使用Concourse CI部署静态网站时发生NGINX错误,nginx,cloud-foundry,concourse,Nginx,Cloud Foundry,Concourse,我在尝试使用Concourse CI将静态网站部署到关键Web服务时遇到错误。我想使用static_buildpack推送一个静态网站。index.html放在根文件夹中。当我使用cf push命令将代码从命令行直接推送到Pivotal Web服务时,一切正常。 当我使用concourse管道时,构建成功终止,但是我在访问网站时出错。尝试访问该网站时,我收到一个nginx 403禁止的错误。我使用以下管道尝试了以下清单(见下文)。当使用Concourse CI时,成功创建容器,使用buildpa
当我使用concourse管道时,构建成功终止,但是我在访问网站时出错。尝试访问该网站时,我收到一个nginx 403禁止的错误。我使用以下管道尝试了以下清单(见下文)。当使用Concourse CI时,成功创建容器,使用buildpack,安装nginx,并上载液滴。应用程序本身已成功启动。
Cloud Foundry日志显示以下错误:
2017/09/05 08:42:54[错误]70#0:*3目录索引“/home/vcap/app/public/”被禁止,客户端:,服务器:localhost,请求:“GET/HTTP/1.1”,主机:“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
可以在nginx 403上找到源代码。禁止主要发生在找不到index.html时。建议的步骤
cf push-p./dist/{your_-app_-name}-f manifest-{your_-environment}.yml--no start(如果您的index.html位于dist/{your_-app_-name}文件夹下)nginx 403禁止主要发生在找不到index.html时。建议的步骤
cf push-p./dist/{your_-app_-name}-f manifest-{your_-environment}.yml--no start(如果您的index.html位于dist/{your_-app_-name}文件夹下)您必须确保
index.html
和其他角度静态文件直接存在于public/
文件夹中,而不是像public/your app name/
这样的文件夹中。您必须确保index.html
和其他角度静态文件直接存在于public/
文件夹中,而不是在文件夹中类似于public/your app name/
我建议您在应用程序实例部署到PWS上后,使用cf ssh
,并四处查看。a、 )确保您的文件已上载b.)它们位于预期位置,即public/
目录,c.)验证nginx配置是否到位。看起来文件不在那里或者路径不对。Nginx说不允许向您提供目录索引,我相信在没有index.html文件的情况下会发生这种情况,这是预期的(默认情况下禁用了目录索引)。我建议您在应用程序实例部署到PWS上后cf ssh
,然后四处看看。a、 )确保您的文件已上载b.)它们位于预期位置,即public/
目录,c.)验证nginx配置是否到位。看起来文件不在那里或者路径不对。Nginx说不允许给您提供目录索引,我相信在没有index.html文件的情况下会出现这种情况(默认情况下禁用目录索引)。