我正在尝试在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证书的通用名称?
>如果是,是否可以安全地假设上述DNS名称(来自我的公共IP)不会改变我?如果公共IP地址发生变化,那么我认为DNS也会发生变化,这会使我的SSL证书无效.
>如果答案为否,那么为EC2实例创建有效公用名的正确步骤是什么?
解决方法
您应该使用自己的公用名域名创建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实例.通常,亚马逊建议您在域名下为www创建CNAME,并指向亚马逊提供的域名.例如:
www.example.com. IN CNAME ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com.
或者,您可以将Amazon的Route53用于您自己域的DNS,并自动将您的域指向您的EC2实例.