具有自定义来源和相同域的 Cloudfront

2024-05-02

假设域名为 www.example.com 的网站托管在网络托管商(不是 Amazon)的 LAMP 服务器上。该域由 Route53 管理。

是否可以以某种方式保留 LAMP Web 服务器上的所有设置,并仍然使用 www.example.com 作为 Cloudfront 的域?喜欢:

Client -> www.example.com -> Cloudfront Edge Server -> Custom origin available over www.example.com on LAMP webserver of third party webhoster

基本上,我想将 www.example.com 用于 Cloudfront 边缘服务器和 LAMP 服务器。

此致


你不能做类似的事情/etc/hosts在 CloudFront 上——它始终使用公共 DNS 来解析源。

然而,你仍然可以做你想做的事——但你只需要理解why这个解决方案确实是您想要的,因为它看起来不是(正如您在评论中指出的那样)。

在 Route 53 中,为源服务器的新主机名创建新的 A 记录,例如 origin.example.com。您根本不需要在源服务器上的任何位置配置此值。您的源服务器仍然认为它是 www.example.com。

在 Route 53 中,创建指向 origin.example.com 的别名 A 记录 www.example.com。

此时,您的网站完全按照您的期望和要求运行。主机名“origin.example.com”位于解析路径中,但此信息对于源站来说是不可见且未知的。

在 CloudFront 中,创建分配,将原始域名设置为 origin.example.com,并将分配的备用域名设置为 www.example.com。

在每个缓存行为的设置中,确保Host标头被列入白名单以转发到源。

将 www.example.com 的 Route 53 别名更改为指向您的 CloudFront 分配。

当请求到达 CloudFront 时,请求会保留Host: www.example.com标头。 CloudFront 使用 DNS 查找 IP 地址origin.example.com however,它仅使用此信息来建立与源的连接。传入请求仍发送至 www.example.com。如果源具有 www.example.com 的 SSL 证书,CloudFront 会将其视为有效,因为您配置了Host白名单标头,并且它与证书匹配。

在此配置中,使用浏览器地址栏中分配的 dzczcexample.cloudfront.net 主机名访问 CloudFront 分配将不起作用,因为 CloudFront 将发送that主机名指向源,但一旦您将 www.example.com 的 Route 53 别名指向分配的 cloudfront.net 域名,请求将得到正确处理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有自定义来源和相同域的 Cloudfront 的相关文章

随机推荐