我使用Route53在AWS上设置我的站点,负载均衡器正在使用https。
我的负载均衡器仅针对https打开。
我无法在没有https的情况下加载我的页面。
我看到与https的链接,例如www.google.com,即使他们有https我也不需要在浏览器中输入https。
只需在浏览器中输入www.google.com,即可加载https://www.google.com。
但对我来说,www.domainname.com是关键的,但https://www.domainname.com未加载。
如何设置?这是设置AWS的问题吗?
答案 0 :(得分:2)
如果仅为HTTPS打开负载均衡器,则不会在端口80上侦听HTTP请求。您应该同时允许HTTP和HTTPS,并将Web服务器配置为始终从HTTP重定向到HTTPS。这就是谷歌所做的。
答案 1 :(得分:1)
@Sergey Kovalev回答的是正确的。我需要在elb打开http和https。然后在页面所在的文件夹中设置重定向,表示index.php所在的位置。
如何设置是, 在.htaccess文件中,放入以下X-Forwarded-Proto代码
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthChecker
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
</VirtualHost>
然后将代码放在index.php所在的文件夹中。
然后它有效。