加载页面没有https

时间:2017-04-29 05:48:41

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

我使用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的问题吗?

2 个答案:

答案 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所在的文件夹中。

然后它有效。