2016-04-30 114 views
0

我已经能够使用本指南成功部署和运行空的rails应用程序:AWS Rails Elastic BeanstalkRails Elastic Beanstalk nginx 301重定向

Region: us-west-2 
Platform: 64bit Amazon Linux 2016.03 v2.1.0 running Ruby 2.3 (Puma) 
Tier: WebServer-Standard 

当我尝试部署和运行我的实际生产应用,部署是增加secret_key_base,建立我的Postgres RDS,并加入了PostGIS到我的数据库后成功。但是,当我导航到该网址时,服务器挂起并且请求超时。没有输出应用级日志,唯一的美洲狮日志是网络工作者启动并准备就绪。

我检查了nginx访问日志,发现所有尝试请求的状态为301,这说明服务器挂起和超时。

172.31.36.144 - - [30/Apr/2016:04:54:47 +0000] "GET/HTTP/1.1" 301 5 "-" "-" "66.240.219.146" 
172.31.36.144 - - [30/Apr/2016:04:55:02 +0000] "GET/HTTP/1.1" 301 5 "-" "-" "66.240.219.146" 
172.31.36.144 - - [30/Apr/2016:04:55:21 +0000] "GET/HTTP/1.1" 301 5 "-" "-" "66.240.219.146" 

所以我认为有没有被允许nginx的找到我的应用程序的正确位置,但不知道去哪里找/如何纠正Nginx上配置错误。这里是唯一配置ebextensions文件我有:

option_settings: 
    - option_name: BUNDLE_DISABLE_SHARED_GEMS 
    value: "1" 
    - option_name: BUNDLE_PATH 
    value: "vendor/bundle" 
packages: 
    yum: 
    git: [] 

这是示例应用程序相同的我推,以及我的生产应用程序。非常困惑,为什么Nginx配置会在两个应用程序之间有所不同,但感谢任何帮助。让我知道你是否需要更多日志或文件。

+0

您是否已将RDS安全组设置为允许从EC2实例的安全组在5432上进行连接? – hephalump

回答

5

已解决。问题在于我仍然在production.rb中使用Heroku上的ssl启用了config.force_ssl = true。我必须重建环境才能使此更改生效。