允许用户对我的Cloudfront应用使用自定义域

时间:2020-02-11 10:22:23

标签: ssl dns amazon-cloudfront cname

我有一个域为xyz123.cloudfront.net的云端应用程序。 然后将此CloudFront映射到域sub1.mydomain.com。为此,我遵循了以下步骤。

  1. 通过AWS CloudFront面板将SSL添加到*.mydomain.com
  2. 在Route 53中向A添加了Alias xyz123.cloudfront.net记录

这使sub1.mydomain.com通过SSL完美运行。

现在,我想允许我的用户使用他们自己的域(例如sub1.userdomain.com)访问该应用。 这类似于UptimeRobot在其公共状态页面中允许的内容。

我尝试过但无法正常工作

  • 在指向CNAME的{​​{1}}中添加了sub1.userdomain.com,我收到SSL错误
  • 在指向xyz123.cloudfront.net的{​​{1}}中添加了CNAME,我收到SSL错误
  • sub1.userdomain.com添加到sub1.mydomain.com指向CNAME(S3静态托管URL)

问题

  1. UptimeRobot(或GitHub Pages)如何允许用户通过SSL将自定义域添加到其状态页面
  2. 实现此目标的前提是什么?

2 个答案:

答案 0 :(得分:2)

  1. 来自https://github.blog/2018-05-01-github-pages-custom-domains-https/

    我们已与证书颁发机构合作,让我们继续加密 这个项目。作为Let's Encrypt的使命的支持者, 网路让所有人都更安全,我们已正式成为银级 该计划的发起人。

    Github页面从Let's Encrypt为您的自定义userdomain.comYOURNAME.github.io创建一个证书。 SAN证书(主题备用名称,https://support.dnsimple.com/articles/what-is-ssl-san/)是可能的。

  2. 您不能将一个以上的SSL证书与CloudFront分配相关联,但是ACM(AWS证书管理器)最多支持10个主题备用名称。要模仿Github Pages,您必须事先知道用户域,或者每次添加新域来替换旧域时都要创建一个新证书。

答案 1 :(得分:1)

不幸的是,无法在AWS中向SSL添加超过10个自定义域。 这是在Cloudfront拥有自定义域的前提。

因此,解决方法如下。 1.创建一个托管代码的S3单存储桶 2.创建连接到单个S3存储桶的多个Could Front分配 3.然后,将自定义域添加到这些云前端。

您还需要考虑应用程序API中的CORS设置,以允许来自这些自定义域的请求。