使用https在aws上使用Rails应用程序

时间:2015-01-15 01:16:38

标签: ruby-on-rails-3 ssl amazon-web-services amazon-ec2 elastic-beanstalk

我正在尝试访问我的rails应用程序(托管在aws上)使用https。我按照http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https.html上发布的说明进行操作,但最终结果并没有达到预期的效果,所以我猜测有一个我不知道的步骤。

这些是我做的步骤:

  1. 生成的服务器证书具有CN = * .example.com(不是自签名证书;它是由godaddy颁发的证书)。

  2. 在我的AWS Elasticbeanstalk环境中,我设置了Load Balancer配置,以便安全侦听器端口= 443,协议是HTTPS,而ssl cert是我从步骤1获得的证书的ID。

  3. 在我的EC2设置中,我添加了一个入站规则,允许https通过端口443,来自源0.0.0.0/0(对于我的应用安全组)。

  4. 在我的rails应用配置中,我将生产的force_ssl标志设置为true。

  5. 但是,现在当我尝试通过访问example.com或https://example.com访问我的网站时,它只是无限期地加载,并且浏览器状态栏中的消息是“已连接到example.com .. “但是之后它没有做任何事情。当它最终失败时,浏览器会给出错误“连接被中断。”

    我错过了另一个配置步骤吗?知道我可能做错了什么吗? 的问候,

1 个答案:

答案 0 :(得分:2)

感谢HTTPS not working (on AWS Elastic Beanstalk based site)Can't access HTTPS site on Elastic Beanstalk after configuring HTTPS in the load balancer(我在发布原始问题时错过了这两个问题)。

总结这两篇文章,问题在于设置负载均衡器的安全组,而不是应用程序本身。

当您查看安全组时,您应该为您的应用找到一个,并为负载均衡器找到一个。我最初更改了我的应用程序的安全组,添加了入站规则以允许https。将该规则添加到负载均衡器的安全组后,它就能正常工作。