Rails aws 上的应用程序使用 https

Rails app on aws using https

我正在尝试使用 https 访问我的 rails 应用程序(托管在 aws 上)。我按照 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是我从步骤中获得的证书的ID 1.

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

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

但是,现在当我尝试通过 example.com 或 https://example.com 访问我的网站时,它只是无限期地继续加载,并且浏览器状态栏中的消息是 "Connected to example.com...",但之后它什么也没做。当它最终失败时,浏览器给我的错误是 "The connection was interrupted."

我是否遗漏了另一个配置步骤?知道我可能做错了什么吗? 此致,

感谢 and (我在发布原始问题时错过了这两个)。

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

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