wordpress - 从 Load Balancer 后面的 AWS certificate Manager 使用 SSL 设置 wordpress 网站

标签 wordpress .htaccess amazon-web-services ssl elastic-load-balancer

我在一个问题上苦苦挣扎了很长时间,仍然没有合适的解决方案。场景如下:

域名: 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 的每个级别进行正确设置,以标准方式实现上述目标。

谢谢

最佳答案

您需要一步一个脚印地解决问题。您试图一次完成所有操作,因此无法确定链中的失败环节。

  1. 确保您在 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 的名称

  2. 确保 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/ .

  3. 您现在可以在后端实例上实现从 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/

相关文章:

wordpress - 如何使 Wordpress 永久链接忽略自定义 url 重写

php - woocommerce_product_query 不适用于产品类别页面

css - WordPress Bakery - 将行设置为图像背景的全高(无内容)

apache - 使用 .htaccess RewriteRule 重写基于数字的 URL

php - 加载位于博客文件夹外部的 index.php 内容以发布单页

apache - 如何引导我网站上的所有文件夹在 .htaccess 中使用 HTTPS?

html - Wordpress 中关于页面的表格列对齐

mysql - 亚马逊 AWS RDS : how to make the database Publicly Accessible to the internet

amazon-web-services - AWS CLI 访问 S3 返回错误 104

ruby - 将内存缓存客户端与 ruby​​ 一起使用