我正在尝试使用一个证书保护通过 AWS Cloudfront CDN 交付的多个静态 AWS S3 网站。
这篇 AWS 文章说我应该能够做到这一点,但它不起作用。
一个是网络应用程序,另一个是用于营销网络应用程序的网站。
您会在下面注意到大多数设置都是相同的。Cloudfrount CDN 和 GoDaddy DNS 中的 CNAME 设置基本上都是不一样的。
Certificate settings / details:
- Domain name: mydomain.us
- Additional names: *.mydomain.us
- Validation status: Success
- Associated resources: arn:aws:cloudfront::[accountkey]:distribution/[CDN1] & same/[CDN2]
.
CDN 1 (web-app) settings:
- Origin = web-app.s3.amazonaws.com
- CNAMEs = *.mydomain.us
- SSL Cert = mydomain.us
- Domain name = [app].cloudfront.net
DNS 1 (web-app) settings:
- CNAME = * | [app].cloudfront.net
*Site 1 (the web-app) successfully loads secured in HTTPS.
- app.mydomain.us, custom.mydomain.us, etc.
.
CDN 2 (web-site) settings:
- Origin = web-site.s3.amazonaws.com
- CNAMEs = www.mydomain.us and web.mydomain.us
- SSL Cert = mydomain.us
- Domain name = [site].cloudfront.net
- All other settings such as security policy, HTTP versions, viewer protocol policy and everything I can see are the same as CDN 1.
DNS 2 (web-site) settings:
- CNAME = web | [site].cloudfront.net
- CNAME = www | [site].cloudfront.net
*Site 2 (the web-site) does not load secured
- web.mydomain.us or www.mydomain.us
所有 S3 设置都相同,少了 Web 应用程序的 CORS 策略,因此我可以从 custom.mydomain.us 获取托管在 app.mydomain.us 的资源。
我需要更改什么才能使其正常工作?
先感谢您!
在花这么多时间研究答案并写下这个详细问题之前,我没有弄清楚这一点,这让我感到很愚蠢。我提到查看器协议策略是相同的,但这并不能使它们正确。我发现,在 AWS Cloudfront CDN 分发设置中,我的查看器协议是 HTTP 和 HTTPS。
分发行为中的查看器协议策略必须是将 HTTP 重定向到 HTTPS才能获得我正在寻找的行为。
感谢您的意见。