我在一个问题上苦苦挣扎了很长时间,仍然没有合适的解决方案。场景如下:
域名: domain-name.com 网站所需的 URL: https://www.domain-name.com/ 网站类型: Wordpress 虚拟主机:AWS DNS 管理:Route53 SSL:来自与负载均衡器相连的 AWS Certificate Manager
我尝试了几种方法来做到这一点,但没有奏效,其中一些如下:
案例 1: 在 Route 53 上,我设置了带有负载均衡器别名的裸域 A 记录和 www.domain-name.com 的 CNAME 记录,值为 domain-name.com wordpress 网站网址:https://www.domain-name.com 结果:该网站重定向过多,网站加载失败
案例 2: 在 Route 53 上,我将裸域和 www.domain-name.com 都设置为带有负载均衡器别名的 A 记录 wordpress 网站网址:https://www.domain-name.com 在 htaccess 中,我设置了 301 从 http 重定向到 https 结果:我发现我的网站可以正常运行,但它有多个重定向,例如我请求带有 http://domain-name 的 URL它带我去了http://www.domain-name然后再次重定向到https://www.domain-name
案例 3: 除了我将裸域的 A 记录更改为启用了静态 Web 托管并将所有请求转发到 www.domain-name 的 S3 存储桶外,我保留了与案例 2 相同的所有内容,但它没有解决多重重定向问题。我还尝试设置一个使用以上 S3 存储桶的 CloudFront,并使用云端别名更新裸域的 A 记录。
Kindky 帮助我在从 Route 53 到 Load Balancer 设置到 htaccess 的每个级别进行正确设置,以标准方式实现上述目标。
谢谢
最佳答案
您需要一步一个脚印地解决问题。您试图一次完成所有操作,因此无法确定链中的失败环节。
确保您在 Route 53 中有一个指向您的 ELB 的 A 别名记录,如下所述:http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer.html
在您的 Route 53 托管区域上,确保您有一个名为 www.domain-name.com 的记录,类型 A,别名:是,别名目标:您的 ELB 的名称
确保 ELB 上的监听器配置正确。在让一切都在 HTTP 上运行之后,您可以专注于 HTTPS。由于 VPC 内的流量被认为是私有(private)的,因此是安全的,您的后端实例应该只监听端口 80。因此,删除任何重定向,从一个监听器开始 (80 (HTTP) -> 80 (HTTP))并在确认您的网站可访问后,添加第二个监听器 443 (HTTPS) -> 80 (HTTP)。
您使用的是新的 ALB 还是旧的经典 ELB?
您的网站现在应该同时在 http://www.domain-name.com/ 上提供服务和 https://www.domain-name.com/ .
您现在可以在后端实例上实现从 HTTP 到 HTTPS 的重定向,如此处所述https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/
此外,请确保在 Wordpress 中配置了正确的网站地址,因为它可能会造成困惑。
关于wordpress - 从 Load Balancer 后面的 AWS certificate Manager 使用 SSL 设置 wordpress 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45518622/