我在使用AWS证书管理器(ACM(、AWS EC2(linux AMI(、AWS CloudFront(CF(、Google DNS和Apache服务器的组合配置来服务test.domain.com的请求时遇到了困难。
我在public_html
目录中有以下设置:
我在/var/www/html
中有两个文件夹
- 产品
- 试验
目标是为使用test
目录从test.domain.com
接收的请求和使用prod
目录从domain.com
接收的请求提供服务。
安装程序使用acme ssl证书运行良好,即,对于生产(domain.com(,我们使用acme ssl证书,DNS指向Elastic IP,运行良好。甚至test.domain.com也在工作acmessl设置很好。
然而,我正在尝试切换到ACM。由于它只适用于CF和ELB(AWS弹性负载均衡器(,因此创建了CF分发版。
- 创建了一个指向原始路径为
/test
的AWS EC2端点的CloudFront(CF(分发 - 已将
test.domain.com
重定向到Google DNS中的CF分发,因为该域已向他们注册
使用此设置,test.domain.com
还将显示domain.com
,而不是预期的测试服务器。
https.conf为每个ServerName都有正确的DocumentRoot。但是,请求没有到达测试服务器的虚拟主机。。
缺少什么?请建议。。
您可以尝试以下操作:
- 将domain.com和test.domain.com添加到CloudFront CNAME列表中
- ACM证书,其通用名称/SAN为domain.com和*.domain.com(或test.domain.com(
- 在CloudFront缓存行为中,将HOST标头设为白名单,这将确保当客户端访问domain.com时,CloudFront在联系来源时在主机标头中发送相同的值
链接:转发主机头