【发布时间】:2019-11-11 23:03:06
【问题描述】:
我在 AWS 上有一个 EC2 实例,它有 route53 托管区域。我使用 AWS Certificate Manager 进行 SSL,然后使用 Classic Load Balancer 实现 https 重定向。
我在该实例上运行了一个简单的网站,并安装了 apache 服务器。我还制作了用于重定向的 .htaccess 文件。
它适用于以下情况:
1] example.com -> https://www.example.com
2] https://www.example.com -> https://www.example.com
3] http://www.example.com -> https://www.example.com
它也应该适用于以下情况,但它不起作用
www.example.com -> https://www.example.com
我已经完美地编写了所有 htaccess 规则,但是当我添加 www 重定向规则时,负载均衡器状态变为 OutService。当我删除该规则时,它可以正常工作。
正常情况下的工作 .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
当我为 www.example.com 添加规则时 -> https://www.example.com
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
【问题讨论】:
-
你能告诉我那个 OutService 负载均衡器的状态消息吗?
-
好的,我会附上的
-
实例至少连续失败了 UnhealthyThreshold 次数的健康检查。 - 停止服务
-
是的,但我没有使用 Nginx
标签: amazon-web-services .htaccess