我正在尝试启用与通过 Amazon EC2 实例上的 IIS 托管的网站的 HTTPS 连接。该实例运行的是 Windows Server 2012。我没有通配符证书。
EC2 实例在 VPC 下运行 - 它有一个 VPC ID。
通过 AWS 控制台查看实例时,我看到显示了一个公共 IP,但没有看到公共 DNS 记录。但是,如果我跟踪到公共 IP,我会看到以下 DNS:
ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com
我不能确信这个 DNS 记录是静态的。
通过 IIS 生成 CRS 时,我需要为证书提供一个“通用名称”。我认为这应该是上面提到的 DNS 记录。
我的问题:
- 我是否应该使用前面提到的 amazonaws 子域作为我的 SSL 证书的通用名称?
- 如果是,是否可以安全地假设上述从我的公共 IP 派生的 DNS 名称不会改变?如果公共 IP 地址发生变化,那么我认为 DNS 也会发生变化,这将使我的 SSL 证书无效。
- 如果任一答案是否定的,那么为 EC2 实例创建有效通用名称的正确步骤是什么?
答案1
您应该使用自己的域名作为通用名称来创建 CSR。如果您计划在 上运行您的网站https://www.example.com
,请使用www.example.com
作为通用名称。(即包括 www)。
否则,人们必须通过以下方式访问您的网站:
https://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com
这可能是不是你想要什么。
(此外,颁发证书的 CA 将需要验证您是否拥有该域名,除非您是秘密的 Jeff Bezos,否则他们不会 [或至少不应该] 为 amazonaws.com 中的任何内容颁发证书。)
当然,您需要将域指向 EC2 实例。通常,Amazon 建议您在域下为 www 创建 CNAME,指向 amazon 提供的域名。例如:
www.example.com. IN CNAME ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com.
或者,您可以使用 Amazon 的 Route53 作为您自己的域的 DNS,并将您的域自动指向您的 EC2 实例。