没有https加载页面
Loading page without https
我在 AWS 上使用 Route53 设置我的站点,负载均衡器以 https 开头。
我的负载均衡器只为 https 打开。
没有 https,我无法加载我的页面。
我看到带有 https 的链接,例如 www.google.com,即使它们有 https,我也不需要在浏览器中输入 https。
只需在浏览器中输入 www.google.com 即可加载 https://www.google.com。
但对我来说 www.domainname.com 已键入,但未加载 https://www.domainname.com。
我该如何设置?是 AWS 设置的问题吗?
如果您的负载均衡器仅针对 HTTPS 打开,则不会在端口 80 上侦听 HTTP 请求。您应该同时允许 HTTP 和 HTTPS,并将您的 Web 服务器配置为始终从 HTTP 重定向到 HTTPS。这就是 Google 所做的。
@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所在的文件夹里
然后就可以了。
我在 AWS 上使用 Route53 设置我的站点,负载均衡器以 https 开头。
我的负载均衡器只为 https 打开。
没有 https,我无法加载我的页面。
我看到带有 https 的链接,例如 www.google.com,即使它们有 https,我也不需要在浏览器中输入 https。
只需在浏览器中输入 www.google.com 即可加载 https://www.google.com。
但对我来说 www.domainname.com 已键入,但未加载 https://www.domainname.com。
我该如何设置?是 AWS 设置的问题吗?
如果您的负载均衡器仅针对 HTTPS 打开,则不会在端口 80 上侦听 HTTP 请求。您应该同时允许 HTTP 和 HTTPS,并将您的 Web 服务器配置为始终从 HTTP 重定向到 HTTPS。这就是 Google 所做的。
@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所在的文件夹里
然后就可以了。