这是我昨天在SO上发布的question的延续。我不确定是否应该提出其他问题,或者只是将其链接到较旧的帖子。
Neways,我一直在尝试将rails上的ruby部署到Bluemix上。经过多次跟踪和错误后,我终于设法推送应用程序并启动它。但是,当我尝试打开网络应用程序时。 Bluemix抛出了一个错误
403 Forbidden
nginx
如果我理解正确,这与访问我的RoR应用程序上的某些文件夹的权限有关。如何解决这个问题。在将其推送到bluemix之前我是否必须更改本地应用程序的权限,或者是否有什么要在bluemix上完成?
以下是link
编辑:
这是我在bluemix
上的 ngnix 文件夹中的错误日志2015/07/23 10:16:39 [error] 37#0: *2 directory index of "/home/vcap/app/public/" is forbidden, client: 75.126.52.20, server: localhost, request: "GET / HTTP/1.1", host: "csw-events.mybluemix.net"
worker_processes 1;
daemon off;
error_log /home/vcap/app/nginx/logs/error.log;
events { worker_connections 1024; }
http {
log_format cloudfoundry '$http_x_forwarded_for - $http_referer - [$time_local] "$request" $status $body_bytes_sent';
access_log /home/vcap/app/nginx/logs/access.log cloudfoundry;
default_type application/octet-stream;
include mime.types;
sendfile on;
gzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types text/plain text/css text/js text/xml text/javascript application/javascript application/x-javascript application/json application/xml application/xml+rss;
tcp_nopush on;
keepalive_timeout 30;
port_in_redirect off; # Ensure that redirects don't include the internal container PORT - 61596
server_tokens off;
server {
listen 61596;
server_name localhost;
location / {
root /home/vcap/app/public;
index index.html index.htm Default.htm;
}
}
}
我的本地系统上不存在ngix文件夹。它是在我将我的应用程序推送到bluemix时创建的(或者我在这里遗漏了什么?)
答案 0 :(得分:0)
你不能使用Nginx(静态buildpack来为你的Ruby on Rails应用程序提供服务。你必须使用Ruby buildpack。
答案 1 :(得分:0)
问题是由于两个原因造成的(至少在我的场景中)。
a)未使用正确的构建包。解决了我的问题的是使用CF的这个buildpack
cf push csw-events -b https://github.com/cloudfoundry/ruby-buildpack.git
b)清单文件的敏感性 - Bluemix开始抛出以下错误:
FAILED
Error reading manifest file:
yaml: [] control characters are not allowed at line 1, column 1
这是通过再次下载清单文件并仅替换它的特定部分(如命令部分)来解决的。