在AWS ELB中自动将HTTP重定向到HTTPS

时间:2017-09-26 12:45:15

标签: amazon-web-services ubuntu amazon-s3 amazon-elb amazon-route53

我想将所有HTTP请求重定向到AWS中的https。我使用ELB作为ssl证书并使用ubuntu(64位)操作系统。

4 个答案:

答案 0 :(得分:7)

您有两种选择:

1)在ELB前使用cloudfront,并将其配置为强制一切为HTTPS

2)在Web服务器配置中添加重写规则以重定向到https。请注意,您需要检查X-Forwarded-Proto以确定原始请求是否安全。

答案 1 :(得分:3)

新的应用程序ELB可以将HTTP重定向到HTTPS。只需打开Listeners标签,然后点击View/edit rules侦听器的HTTP : 80链接即可。然后,您只需编辑默认规则,删除默认操作,然后选择Redirect选项。在这里,您可以设置协议(默认为https),定义自定义端口,修改服务器名称,路径,查询字符串等。

答案 2 :(得分:0)

您不能仅使用ELB将请求从HTTP重定向到HTTPS。您必须安装一些反向代理工具(如nginx或vanish,apache)才能将所有HTTP请求重定向到HTTPS。您的ELB将同时侦听HTTP / HTTPS,但您的服务器将重写HTTP请求。 例如来自aws https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/

答案 3 :(得分:0)

2019 +

AWS应用程序负载平衡器现在支持HTTPS重定向。

在控制台上,转到EC2 > Load balancers > your load balancer > listeners

这里您应该有2条规则: HTTP:80 HTTPS:443

您只需要:

  • 修改 HTTP:80 规则
  • 删除转发规则,并将重定向规则添加到端口443(图1)
  • 保存,您应该会看到类似图片2的内容

enter image description here

enter image description here