背景
我的网站已经使用CloudFlare与Let's Encrypt成功一年或两年。 这些网站是在EC2上托pipe的,它们具有有效的让我们为根,www和所有使用的子域encryption证书。 该网站由Wordpress运行。
我在做什么
作为学习练习,我决定将我的一个域名wildphotography.co.nz更改为Route53和CloudFront。 它并没有好转。
问题
使用CloudFront从CloudFlare迁移到Route53后,我无法查看我的网站。 详情如下。 我期望的最终状态是Route53是我的DNS服务器,CloudFront是我的CDN。
请注意,我已经恢复到CloudFlare,因为我需要我的网站在线。 我有Route53作为我的DNS服务器3-4小时,我可以看到它是解决R53。
问题的细节
在我设置好之后,就是我在浏览器中看到的问题
由于Route53设置,域的请求被发送到CloudFront。 CloudFront提供的证书用于* .cloudfront.net域。 因此,不匹配。 我相信我理解这个问题,但是我无法解决如何解决这个问题。
如果我转到Cloudfront URL(d1b5f3w2vf82yc.cloudfront.net),则会出现此错误。 当然,去这个URL通常不会有帮助。
这是一个SSL诊断
这是我的CloudFront设置。 请注意,在我更改了一些较小的内容后,我进行了截图,这就是为什么它显示“正在进行”。 我让它在我testing之前传播。
首先是CloudFront概述
CloudFront原始设置
CloudFront根行为
请注意,我在我的Nginx Web服务器上从http转发到https,所以我不打扰CloudFront执行此操作。 这给了我日志中的额外信息,对诊断有用。
Route53设置
我删除了一些与电子邮件无关的logging。 请注意,www和非www域都是指向CloudFront分配的别名logging。 它不会接受一个别名 – 我甚至不知道这是否是一个有效的组合。
我试过了
我创build了一个新的子域,origin.wildphotography.co.nz,这是www.wildphotography.co.nz的一个cname。 我相信这是必要的,所以CloudFront可以find原始服务器的IP。
我尝试过CNAME,别名,而不是别名,各种各样的东西。
一件奇怪的事情是,当它与R53 / CloudFrontbuild立起来时,一些请求正在通过CloudFront。 不多,但一些。
任何想法,将不胜感激。 我怀疑我的Route53设置不正确。
首先,您需要将您的自定义SSL证书上传到Cloudfront,以避免在SSLvalidation过程中出现问题。 如果您没有上传对您的网站名称有效的自定义证书,Cloudfront将提供仅适用于其自己的域名cloudfront.net的证书。
然后,在Route53的DNS区域中需要一些logging:
使用此设置,您的客户将通过您的www / apexlogging路由到Cloudfront,Cloudfront通过原始logging查找实际的Web服务器。 Clodflare可以帮助您避免执行所有这些逻辑,因为您可以将DNS委派给他们,但实际上这是他们在DNS面板中启用CDNfunction时在后台执行的操作。
请注意,您也可以通过ACM从AWS获得证书,不收取额外费用。 您获得的证书可以部署在您的域的CloudFront上。 有关详细信息,请访问 – http://docs.aws.amazon.com/acm/latest/userguide/gs-cf.html并阅读博客文章 – https://aws.amazon.com/blogs/aws/new- AWS证书pipe理器-部署- ssltls -基于应用程序上-AWS /