如何使用Lightailail为WordPress设置AWS Cloudfront?

时间:2018-11-23 12:40:16

标签: wordpress amazon-web-services amazon-cloudfront amazon-route53 amazon-lightsail

如何为WordPress设置带有Lightail的AWS Cloudfront? (在子域上)

  • 我正在使用Route 53进行所有DNS管理。我正在使用来自的静态IP lightail,3.122.2.187
  • 路线53使用ALIAS到云前域名的service.openinfo.nl的A记录。
  • 路线53的wordpress.openinfo.nl的A记录指向 lightail静态IP 3.122.2.187
  • Cloudfront的原始域名为wordpress.openinfo.nl
  • Cloudfront原始协议策略仅适用于HTTP。
  • Cloudfront备用域名是service.openinfo.nl
  • Cloudfront SSL证书是Route53为* .openinfo.nl颁发的证书
  • Cloudfront Viewer协议策略是将HTTP重定向到HTTPS。

此解决方案无效:

  1. cloudfront发行版service.openinfo.nl确实解析了lightail服务器,但通过http解析,它不使用我附加的证书...我应该使用将http重定向到https吗?

  2. 此外,如果我单击“登录”,它会重定向到wordpress.openinfo.nl/wp-login.php,即我为将原始域名分配给Cloudfront而分配的DNS。 WordPress的“ WP_SITEURL”和“ WP_HOME”设置会以某种方式自动反映DNS wordpress.openinfo.nl。

  3. 而且,DNS名称wordpress.openinfo.nl解析了lightail服务器(我不希望这样做,因为我希望所有到wordpress服务器的流量都通过service.openinfo.nl进行访问)。如何避免这种情况?

背景和我尝试的方法

创建新的发行版时,我的lightail(WordPress)服务器未显示在“来源域名”下拉列表中。所以我该怎么做?我能找到的唯一AWS description on this topic尚不清楚。

不允许在Cloudfront中将服务器的固定IP地址用作“原始域名”。因此,我在Route 53(wordpress.openinfo.nl)中创建了一个DNS记录,以指向我的lightail服务器的静态IP。然后,我将此DNS记录添加为cloudfront中的“原始域名”(还包括https证书* .openinfo.nl)。然后,我在Route 53中选择了Cloudfront分配作为A记录,输入别名。Cloudfront备用域名(CNAME)是service.openinfo.nl。

因此,我还尝试在Route 53中将service.openinfo.nl创建为A记录(DNS),指向WordPress lightail服务器的静态IP。但是我不能创建与别名A记录相同的service.openinfo.nl ...

所以我被困住了...请指教?提前谢谢了!哇

PS:openinfo.nl指向带有证书的云前发行版,该证书指向S3存储桶中的静态站点并且可以正常工作。

1 个答案:

答案 0 :(得分:0)

https://aws.amazon.com/blogs/startups/how-to-accelerate-your-wordpress-site-with-amazon-cloudfront/

https://forums.aws.amazon.com/thread.jspa?threadID=264002

首先,您需要将您的域指向CloudFront。您将要在DNS区域中设置CNAME记录,指向创建CloudFront发行版时获得的xyz.cloudfront.net地址。如果这是您要启用CloudFront的域,则该记录的名称应为“ www.example.com”。使example.com(不带www)也可以工作起来有些棘手,因为出于技术原因您不能使用CNAME。路线53提供了解决此问题的方法,但是Lightsail中的DNS管理实际上是该服务的简单版本。但是,您始终可以为example.com添加A记录,指向您的服务器IP地址。然后,您的服务器可以重定向这些请求(需要其他配置)。

第二,CloudFront需要通过某个地址与您的服务器联系。您可以在您的DNS区域中添加第二条记录。这次您将其称为“ origin.example.com”(或其他名称),使其成为A记录,并将其指向服务器IP地址。