假设一个域名为www.example.com的网站托管在webhoster的LAMP服务器上,该服务器不是Amazon。该域由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
Run Code Online (Sandbox Code Playgroud)
基本上,我想同时将www.example.com用于Cloudfront Edge Server和LAMP服务器。
最好的祝福
您无法/etc/hosts在CloudFront上做任何事情-它始终使用公共DNS来解析来源。
但是,您仍然可以做您想做的事情-但您只需要了解为什么此解决方案确实是您想要的,因为它看起来似乎并不是您想要的(正如您在注释中所指出的)。
在Route 53中,为原始服务器的新主机名创建一个新的A记录,例如origin.example.com。 您根本不需要在源服务器上的任何地方配置此值。 您的原始服务器仍然认为它是www.example.com。
在Route 53中,创建一个别名A记录www.example.com,指向origin.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 但它仅使用此信息建立与源的连接。传入请求仍发送至www.example.com。如果原始服务器具有针对www.example.com的SSL证书,则CloudFront会将其视为有效,因为您已将Host标头配置为白名单,并且与该证书匹配。
在这种配置中,访问在浏览器的地址栏将无法正常工作与分配dzczcexample.cloudfront.net主机名CloudFront的分布,因为CloudFront的将发送的是主机名到原点,但一旦你点的路线53别名www.example.com到分配的cloudfront.net域名,请求将被正确处理。
| 归档时间: |
|
| 查看次数: |
724 次 |
| 最近记录: |