You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置EC2实例SSL证书时,应选用哪个域名?

Great question! Let's break this down clearly for you:

答案:选择自定义子域名 sub.foo.com 申请SSL证书

为什么不选EC2的默认域名?

  • EC2提供的默认域名(foo.us-west1.compute.amazonaws.com)是AWS官方托管的,你没有该域名的所有权控制权,无法通过主流证书颁发机构(CA)的域名验证流程(比如DNS验证、HTTP验证)来获取可信的SSL证书。即使你能临时获取到相关证书,这个域名也和EC2实例的公网IP绑定,一旦实例重启或更换IP,域名会直接失效,完全不适合长期业务使用。

为什么必须选sub.foo.com?

  • 你的核心需求是让用户通过**自定义子域名sub.foo.com**访问EC2上的服务,SSL证书必须与用户实际访问的域名完全匹配,否则浏览器会弹出“不安全”的警告,完全失去配置SSL的意义。
  • 你拥有sub.foo.com的控制权,可以顺利完成证书颁发机构的验证流程,获取长期有效的可信证书,适配后续业务的稳定运行。

后续配置Nginx的关键要点

  • 把获取到的证书文件(通常是.pem或.crt格式)放到EC2实例的/etc/ssl/certs/目录,私钥文件(.key格式)放到/etc/ssl/private/目录,记得将私钥文件权限设置为600(避免其他用户非法读取)。
  • 修改Nginx配置文件(比如/etc/nginx/sites-available/sub.foo.com),配置HTTPS监听:
    server {
        listen 443 ssl;
        server_name sub.foo.com;
    
        ssl_certificate /etc/ssl/certs/sub.foo.com.crt;
        ssl_certificate_key /etc/ssl/private/sub.foo.com.key;
    
        # 其他站点核心配置(root、location规则等)
    }
    
  • 额外配置HTTP跳转HTTPS,让访问http://sub.foo.com的用户自动转到安全链接:
    server {
        listen 80;
        server_name sub.foo.com;
        return 301 https://$host$request_uri;
    }
    
  • 重启Nginx服务使配置生效:sudo systemctl restart nginx

内容的提问来源于stack exchange,提问作者Manan Mehta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:07:53