如何使用CloudFront为EC2实例(Wordpress)设置SSL

时间:2019-06-13 14:11:13

标签: wordpress amazon-web-services ssl amazon-ec2 amazon-cloudfront

我关注了this 在EC2上设置WordPress的指南,但未涵盖如何启用HTTPS。我使用了“ WordPress由Bitnami和Automattic认证的AMI”。

我知道我可以将EC2的CloudFront infront用于SSL,但是我无法使其正常工作。我遇到了错误502和其他几个错误。因此,我想从头开始,并确认我的方法是正确的。

我已经注册了自己的域(example.com)。在Route 53中,我有“ blog.example.com”作为指向我实例的EIP的A记录。我也有一个指向“ blog.example.com”的“ www.blog.example.com”的CNAME记录。这两个URL都可以通过HTTP访问我的实例。

  1. 在CloudFront的配置中,我的“原始域名”是:

    • 公共DNS(ec2-XX-XX-XX-XX.ap-southeast-2.compute.amazonaws.com)
  2. “原始协议策略”设置为HTTP

  3. “查看器协议策略”设置为“将HTTP重定向到HTTPS”。

  4. 对于SSL证书,我已要求为两者都提供自定义证书:

    • blog.example.com
    • www.blog.example.com

所有其他CF设置均保留为默认设置。我可以访问发行版的域名,但仍然是HTTP。

在部署发行版之后,我将Route 53中的'blog.example.com'记录更改为具有CF域名(xxxxxxxxxxx.cloudfront.net)的别名目标。

  • 关于CNAME记录(www.blog.example.com),该如何修改?

到目前为止,我可以访问“ www.blog.example.com”和“ blog.example.com”,但是其HTTP和EIP出现在URL栏中,而不是域名。

我缺少什么或设置不正确?

我是AWS的新手,非常感谢!

2 个答案:

答案 0 :(得分:0)

我不确定您是否仍在寻找解决方案,但这是我在ec2实例上完成SSL设置的方法。

1)我为ec2指向的URL颁发了SSL证书。我使用AWS Certificate Manager来完成此任务。

有两种方法来验证域授权DNS和电子邮件。我发现DNS要容易得多,尤其是在使用Route 53的情况下。

2)接下来,我不得不在Cloudfront中列出我的两个A记录(www.example.com和example.com)的备用CNAME(this教程很有帮助)。在“常规”选项卡下选择Cloudfront分布后,单击Edit按钮。您需要通过选择单选按钮Custom SSL Certificate (example.com),然后选择在步骤1中创建的相应证书来导入SSL证书。

请记住,其中一些步骤需要15到20分钟才能传播更改。

3)最后一步是将Route 53中的A记录指向Cloudfront发行域名。

您需要使用的三个AWS服务是Route 53,Cloudfront(CDN)和证书管理器。

希望这会有所帮助,祝你好运!

答案 1 :(得分:0)

您的aws配置看起来不错。问题在于您的wordpress网址,在wp-config.php中,您可以将站点网址标识为“ domain.com”,也可以通过在数据库中手动输入“ domain.com”来进行设置。确保在siteurl字段中输入https://youdomain