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

AWS EC2网站集成Godaddy SSL与Cloudflare配置技术求助

嘿,我之前刚好折腾过这套组合(EC2+Godaddy+Cloudflare)的SSL配置,给你理个清晰的步骤,分阶段来,绝对不会乱:

整体前提说明

咱们的架构是:Cloudflare作为流量入口(负责缓存+SSL转发)→ 域名解析由Cloudflare接管(原Godaddy仅保留域名所有权)→ 最终流量到EC2上的网站。所以核心是先把DNS控制权转到Cloudflare,再处理SSL的两种配置方案。

第一步:把Godaddy域名的DNS服务器切换到Cloudflare

这是基础,因为只有Cloudflare接管DNS,才能实现它的缓存和SSL功能:

  1. 登录Godaddy的域名管理后台,找到你的目标域名,进入「DNS管理」页面
  2. 找到「域名服务器(NS)」选项,替换掉Godaddy默认的NS地址,改成Cloudflare提供的NS地址(你在Cloudflare后台添加域名时,系统会自动生成2-4个专属NS地址,直接复制粘贴就行)
  3. 保存后,等待DNS生效(一般1-24小时,快的话10分钟),可以用命令验证:nslookup -type=ns yourdomain.com,如果返回的是Cloudflare的NS地址,就说明生效了
  4. 登录Cloudflare后台,检查自动导入的DNS记录(Cloudflare会同步Godaddy的原有记录),确保A/CNAME记录正确指向你的EC2公网IP,避免网站失联

第二步:Cloudflare SSL配置(两种方案,按需选择)

方案一:用Cloudflare免费SSL(最推荐,省心省力)

这个方案完全不需要用到你手里的Godaddy证书,Cloudflare自动签发维护SSL,配合缓存更顺畅:

  1. 在Cloudflare后台进入你的域名,打开「SSL/TLS」选项卡
  2. 选择「加密模式」:
    • 「灵活」:用户→Cloudflare是HTTPS,Cloudflare→EC2是HTTP(适合EC2暂时没配SSL的情况,快速上线HTTPS)
    • 「严格」:全程HTTPS,要求EC2上必须有有效的SSL证书(可以用Let's Encrypt免费签,或者用你的Godaddy证书)
  3. 开启「始终使用HTTPS」和「自动HTTPS重定向」,这样所有HTTP请求都会强制跳转到HTTPS
  4. 缓存策略正常配置就行(在「缓存」选项卡),比如设置静态资源的缓存时间、缓存规则,和SSL不冲突

方案二:使用你已有的Godaddy SSL证书

如果一定要用自己的Godaddy证书,需要把证书部署到EC2,再配合Cloudflare的严格模式:

2.1 从Godaddy下载证书文件

  • 登录Godaddy的SSL证书管理后台,找到已购买的证书,点击「下载」
  • 选择对应服务器类型(比如你的EC2用Nginx就选Nginx,Apache就选Apache),下载压缩包,里面包含:
    • 主证书文件(通常是.crt或.pem格式)
    • 私钥文件(.key格式)
    • 中间证书(bundle文件,用于证书链验证)

2.2 把证书部署到EC2的Web服务器(以Nginx为例)

  1. 用SSH登录你的EC2实例,创建证书存放目录:sudo mkdir -p /etc/nginx/ssl
  2. 把下载好的三个证书文件上传到这个目录(可以用scp命令,或者通过EC2的文件传输工具)
  3. 编辑Nginx的站点配置文件(比如/etc/nginx/sites-available/yourdomain.conf),添加HTTPS监听配置:
    server {
        listen 443 ssl;
        server_name yourdomain.com www.yourdomain.com;
    
        # 指定证书文件路径
        ssl_certificate /etc/nginx/ssl/yourdomain.crt;
        ssl_certificate_key /etc/nginx/ssl/yourdomain.key;
        ssl_trusted_certificate /etc/nginx/ssl/yourdomain-bundle.crt;
    
        # 可选的SSL优化配置(提升安全性)
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
    
        # 你的网站根目录和其他原有配置
        root /var/www/yourdomain;
        index index.html index.php;
    }
    
  4. 添加HTTP转HTTPS的规则,在同一个配置文件里新增80端口的server块:
    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
        return 301 https://$server_name$request_uri;
    }
    
  5. 测试Nginx配置是否正确:sudo nginx -t,如果显示「test is successful」就重启Nginx:sudo systemctl restart nginx

2.3 Cloudflare端切换到严格加密模式

回到Cloudflare的「SSL/TLS」选项卡,把加密模式改成「严格」,这样Cloudflare会验证EC2上的Godaddy证书有效性,确保全程HTTPS安全。

第三步:验证配置是否生效

  1. 打开浏览器访问你的域名,看地址栏是否显示绿色锁图标,点击锁可以查看证书信息(方案一显示Cloudflare的证书,方案二显示Godaddy的证书)
  2. 用命令验证:curl -v https://yourdomain.com,检查响应头里是否有HTTP/2 200,以及证书相关的信息
  3. 检查缓存是否正常:看响应头里的CF-Cache-Status字段,显示HIT就是命中缓存,MISS是未命中,属于正常现象

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:10:44