如何使用Elastic Beanstalk将常规域条目路由到安全端口443



我有PHP网站(从现在起将称之为awesomedomain.com(,目前在Elastic Beanstalk中负载平衡,SSL已启动并运行。

我可以通过获得与网站的安全连接https://awesomedomain.com/然而每当我输入";awesomedomain.com";它仍然作为不安全端口连接。

我有两个听众80和443。如何将所有传入流量路由到端口443以进行全局SSL连接?

事先感谢任何人。

干杯,

~生物

您可以设置两种方式:

  1. 安装规则是主机文件:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName abc.example.com
Redirect permanent / https://abc.example.com/
</VirtualHost>
<VirtualHost _default_:443>
ServerName abc.example.com
DocumentRoot /var/www/html/example
SSLEngine On 
</VirtualHost>

更改后不要忘记重新启动服务器。

  1. .htaccess文件中:
RewriteEngine On
RewriteCond %{HTTPS} off 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
  1. 如果您使用CloudFront和ELB作为ssl证书的端点,那么CloudFront可以选择将http重定向到https所有请求

当您只键入"awesomedomain.com";浏览器自动添加";http://";然后尝试命中该服务器的端口80。您的应用程序必须在请求时从端口80向端口443发送重定向,以强制浏览器使用SSL。如果您使用的是应用程序负载均衡器(ALB(或CloudFront,则可以在那里配置重定向。否则,服务器需要从负载均衡器检测X-Forwarded-Proto标头的值,如果不是443,则发出重定向。

这里介绍了在Elastic Beanstalk中执行此操作的方法。

最新更新