Rails5.0 App默认为HTTPS

时间:2017-05-14 02:04:01

标签: ruby-on-rails amazon-web-services https routes

我在AWS EB中运行了一个基本的rails应用程序,并使用Amazon Certificate Manager提供了SSL层。你如何重新路由" example.com"到" https://www.example.com"自动?这样应用就会为应用访问运行SSL证书。 在此先感谢

2 个答案:

答案 0 :(得分:0)

您需要将HTTPS重定向配置添加到rails应用的源代码中。有一种方法可以在弹性beanstalk中进行高级设置,使用名为.ebextensions的文件夹中的conf文件

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

具体来说,您需要创建一个包含以下内容的conf文件,并将其添加到.ebextensions文件夹中。

Files:
"/etc/httpd/conf.d/ssl_rewrite.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
        RewriteEngine On
        <If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'">
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
        </If>

有关详细信息,请参阅此AWS论坛链接。 https://forums.aws.amazon.com/message.jspa?messageID=739990

答案 1 :(得分:0)

将以下行添加到config/environments/production.rb文件:

config.force_ssl = true # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.