Rails 应用程序迁移到 AWS Elastic Beanstalk :: Bad Gateway (502)

Posted

技术标签:

【中文标题】Rails 应用程序迁移到 AWS Elastic Beanstalk :: Bad Gateway (502)【英文标题】:Rails app migrating to AWS Elastic Beanstalk :: Bad Gateway (502) 【发布时间】:2016-02-27 12:20:49 【问题描述】:

所以我正在从 Heroku 迁移到 AWS Elastic Beanstalk 并进行测试。我正在关注此文档:

AWS Docs :: Deploy Rails app to AWS

但是按照文档操作后,我一直收到 Bad Gateway 502(错误)。

这是我的应用程序的规格:

Rails 4.1.8 Ruby 2.1.7 服务器彪马

所以我检查了我的/log/nginx/error.log,这是我看到的:

2015/11/24 06:44:12 [crit] 2689#0: *4719 connect() 到 unix:///var/run/puma/my_app.sock 失败(2:没有这样的文件或目录)连接到上游时,客户端:172.31.13.129,服务器:_,请求:“G ET / HTTP/1.1”,上游:“http://unix:///var/run/puma/my_app.sock:/”,主机:“my-app-env-mympay5afd.elasticbeanstalk.com”

从这个AWS Forum thread看来,Puma 似乎没有正确启动。

所以我查看的三个日志文件是:

/var/log/eb-activity.log /var/log/eb-commandprocessor.log /var/log/eb-version-deployment.log

除了我修复的“secret_key_base”错误(我使用了eb setenv SECRET_KEY_BASE=[some_special_key] 命令)之外,它们似乎都没有表明任何错误。

可能暗示问题根源的一件事是/var/log/nginx/rotated/error.log1448330461.gz 具有以下内容

2015/11/24 01:06:55 [警告] 2680#0:在 /etc/nginx/nginx.conf:39 中重复 MIME 类型“text/html” 2015/11/24 01:06:55 [警告] 2680#0:0.0.0.0:80 上的服务器名称“localhost”冲突,被忽略

但它们似乎是警告而不是严重的阻碍。

还有其他我应该看的文件吗?

作为另一个参考点,我查看了这个 SO Post,这似乎暗示我需要启用 SSL 才能使所有这些工作。

提前致谢!

【问题讨论】:

【参考方案1】:

知道了。

在我的“production.rb”中,我有一个 force_ssl 设置,但由于我刚刚开始,我还没有设置 SSL。

【讨论】:

以上是关于Rails 应用程序迁移到 AWS Elastic Beanstalk :: Bad Gateway (502)的主要内容,如果未能解决你的问题,请参考以下文章

在 Elastic Beanstalk 环境上部署 ruby​​ on rails 应用程序时出现 AWS 数据库迁移错误

为啥我的 Rails 应用程序无法部署到 AWS Elastic Beanstalk?

无法将 Rails API 应用程序部署到 AWS Elastic Beanstalk

部署 Rails 应用程序 aws elastic beanstalk 时出错

在 AWS Elastic Beanstalk / Rails 上配置 HTTPS

使用 Ruby on rails Elastic Beanstalk 将 RDS 迁移到 Aurora MySQL