从 SSL 上的裸域重定向失败
Posted
技术标签:
【中文标题】从 SSL 上的裸域重定向失败【英文标题】:Failed redirect from naked domain on SSL 【发布时间】:2018-01-21 19:15:50 【问题描述】:我最近在我的 AWS 托管 wordpress 网站上安装了 SSL,但我的命名域不再工作。
https://example.com、https://www.example.com、www.example.com 都按预期工作。
example.com 不工作。 example.com 引发连接被拒绝错误。
设置:
Wordpress 托管在从 bitnami AMI 安装的单个 AWS EC2 上。 EC2 位于经典负载均衡器后面。 SSL 证书在 AWS 证书管理器上进行管理,并颁发给 *.example.com、example.com 和 www.example.com DNS 使用路由 53:www.doamin.com 和 domain.com 有指向同一个负载均衡器别名的 A 记录 .htacces 已用 RewriteRule 修改 ^(.*)$ https://example.com/$1 [R,L]我该怎么做才能让它工作?
【问题讨论】:
您确定example.com 工作正常吗...尝试使用其他浏览器和telnet www.example.com 80
。您看到的确切错误消息是什么以及在哪里?
你的权利,两个非安全都不起作用。C:\>telnet www.example.com 80 Connecting To www.example.com...无法打开与主机的连接,在端口80:连接失败。
我的重写规则是:HTTPS 确实有效,所以问题不在于 DNS。您提到了负载均衡器。 Connection Refused
错误表示您的请求没有发送到负载均衡器或被负载均衡器接受。
检查负载平衡器的安全组并确保允许port 80 inbound
。
检查您的负载平衡器是否有listener on port 80
。
如果您在负载均衡器的公共子网上修改了 NACL(网络访问控制列表),则需要允许 80 inbound and everything outbound
。默认的 NACL 规则已经允许这样做。
顺便说一句,我注意到您正在终止负载平衡器上的 SSL(因为您使用的是 ACM 证书)。根据您的配置,这可能意味着您在端口 80 上将请求转发到未加密的 Web 服务器。如果是这样,那么您的重写规则将无法正确检测 HTTPS 的使用。 AWS has some documentation 更详细地解释了这一点。
【讨论】:
您的权利。这是一个听众问题。将 HTTP 端口 80 添加到负载平衡器侦听器修复它。以上是关于从 SSL 上的裸域重定向失败的主要内容,如果未能解决你的问题,请参考以下文章
cloudfront 和 s3 301 重定向显示存储桶的裸域
Cloudfront 使用 ssl 将 www 重定向到裸域 [关闭]