首页 文章

在AWS Load Balancer中将HTTP请求路由到HTTPS

提问于
浏览
1

我们有2个EC2实例,Nginx和Unicorn运行Rails . 我们在EC2中启动了Load Balancing选项 . 接下来,我们购买了SSL证书并使其在Load Balancer上运行 . 因此,现在我们有网址为https://app.mydomain.com工作 . 我们从Load Balancer的监听器中删除了HTTP . 现在,我们需要以某种方式将http://app.mydomain.com的任何传入请求路由到https://app.mydomain.com . 关于我们如何实现这一目标的任何建议?

先感谢您 .

3 回答

  • -1

    我有同样的情况,我通过以下方式解决:

    您需要将负载 balancer 监听到端口80并进入您的ec2 instace,它作为节点运行,您可以将其配置为将任何http请求重定向到https .

    在我的情况下,我在.htaccess文件中使用这一行

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule !/status https://app.mydomain.com%{REQUEST_URI} [L,R]
    

    这是我的情况,而/ status是负载 balancer 检查器检查实例helath .

  • 0

    ELB设置 X-Forwarded-Proto 标头,您可以使用它来检测原始请求是否是HTTP,然后重定向到HTTPS .

    看看ELB docs .

  • 1

    您需要在apache或nginx文件中进行配置 . 使用此链接获取详细帮助 . https://serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-to-https-while-maintaining-sub-dom

相关问题