我正在尝试使用来自 AWS 证书管理器的证书将子域连接到运行 Django 应用程序的 AWS Elasticbeanstalk 实例。该域名在 123-Reg 注册。
AWS 证书管理器显示证书的验证状态为成功。
我已将其添加到 Elasticbeanstalk 实例内的负载均衡器(端口 443、协议 HTTPS、实例帖子 443、实例协议 HTTPS、根据证书管理器的 SSL 证书)。
我已经在 django 应用程序中添加了子域和.acm-validations.aws
ALLOWED_HOSTS(我不知道这是否是必需的)。
这样,网站就会被定向到主域的 VPS(而不是子域)。这只会导致 HTTPS 错误,因为此 VPS 上没有子域的证书。
我尝试为子域添加 CNAME DNS 记录以指向 elasticbeanstalk 实例的 url,但这只会产生一个空白屏幕。
如何让子域与 elasticbeanstalk 实例一起工作?
答案1
您需要在 Route53 中设置具有相同域名的公共区域,然后将该区域的 DNS 指向您的 DNS 托管提供商而不是 AWS。还要确保您的公共区域也具有子域条目。在该条目中,您需要有一个指向您的端点(即负载均衡器)的 A 记录。
至于证书,请确保您的证书涵盖 *.mydomain.com 和 mydomain.com。如果您使用的是 AWS 证书管理器,您可以通过删除当前证书并使用两个名称重新添加来添加它。或者,只使用 subdomain.mydomain.com 添加新证书。我会选择 *.mydomain.com 路线,这样您将来添加到公共托管区域的任何子域都将具有有效的证书。