【问题标题】:Why does secondary subdomain for Discourse in AWS fail?为什么 AWS 中 Discourse 的二级子域会失败?
【发布时间】:2022-01-04 21:40:40
【问题描述】:

我有一个面向公众的静态网站的域,无论它是作为example.comhttp://example.com 还是https://example.com 输入浏览器,都能正常加载。

我有一个用于 Discourse 论坛的私有子域(可通过登录访问),无论它是作为 discourse.example.comhttp://discourse.example.com 还是 https://discourse.example.com 输入浏览器,都能正常加载。

Discourse 的子域是通过向 AWS Route 53 托管区域添加记录来实现的:

记录名称:discourse.example.com

记录类型:A

值:123.45.678.90

别名:否

TTL:300

路由策略:简单

我想为 Discourse 提供一个较短的替代/辅助子域。所以我添加了另一条记录,与之前几乎相同,只是记录名称从discourse.example.com 更改为d.example.com

奇怪的是,这在 HTTP 中有效,但在 HTTPS 中浏览器会发出警告:

您的连接不是私密的

攻击者可能试图从 d.example.com 窃取您的信息(例如,密码、消息或信用卡)。

了解更多

NET::ERR_CERT_COMMON_NAME_INVALID

我错过了什么?我应该以不同的方式解决这个问题吗?

我的 AWS 证书涵盖 example.com*.example.com。我的 CloudFront 分配涵盖 example.comd.example.com。我在此配置期间暂时禁用了我的 Amazon CloudFront 缓存,以确保这不是一个因素。

【问题讨论】:

  • 在浏览器中打开证书并查看详细信息。就是说 *.example.com 不在证书的域名列表中。
  • “在浏览器中打开证书”是什么意思?

标签: amazon-web-services subdomain discourse


【解决方案1】:

我找到了解决办法:

  • 转到 AWS S3 并创建一个新存储桶。
  • 将其命名为我想要的子域 (d.example.com)。
  • 公开。
  • 启用静态 Web 托管。
  • 将托管类型设置为重定向。
  • 将主机名设置为所需的重定向 URL (discourse.example.com)。
  • 注意它的静态网站托管存储桶网站端点以供以后使用(看起来像http://d.example.com.s3-website.aws-region-2.amazonaws.com)。
  • 转到 CloudFront 并创建一个新的分配。
  • 将注明的端点粘贴到源域(不要从下拉列表中选择相似但略有不同的选项)。
  • 添加备用/CNAME 作为所需的新子域 (d.example.com)。
  • 为 SSL 选择现有 AWS 证书。
  • 转到 Route 53,选择现有托管区域,然后创建新记录。
  • 将类型保留为 A 记录。
  • 将记录名称设置为所需的子域 (d)。
  • 将值更改为别名。
  • 将流量路由到 CloudFront。
  • 从下拉列表中选择新分布。
  • 等待几分钟,然后再尝试在浏览器中加载新的子域。

【讨论】:

    猜你喜欢
    • 2010-12-05
    • 2020-07-02
    • 2016-04-11
    • 2021-10-10
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多