温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何为HTTPS配置SSL证书

发布时间:2025-12-15 01:53:13 来源:亿速云 阅读:170 作者:小樊 栏目:软件技术

为 HTTPS 配置 SSL 证书的标准流程


一 准备与前置检查

  • 证书与域名
    • 已获取由权威 CA 签发的证书;证书需覆盖所有要保护的域名。
    • 域名匹配规则:example.com 仅匹配该精确域名;www.example.com 仅匹配该精确域名;*.example.com 仅匹配一级子域名(如 www.example.com、a.example.com),不匹配根域 example.com 与多级子域 a.b.example.com。如需匹配多级子域,需单独添加或绑定如 *.b.example.com
  • 服务器与权限
    • 使用 root 或具备 sudo 权限的账号;确保 Nginx 已安装并包含 –with-http_ssl_module 模块(执行:nginx -V 2>&1 | grep -o -- '--with-http_ssl_module')。
  • 网络与合规
    • 云服务器需开放 TCP 443 端口(安全组与系统防火墙);在中国内地部署需完成 ICP 备案;域名已通过 A 记录解析至服务器公网 IP。

二 获取并下载证书

  • 购买与申请
    • 购买正式证书(支持 DV/OV/EV、单域名/通配符/多域名 等);提交证书申请并选择域名验证方式(自动 DNS/手动 DNS/文件验证)。DV 证书通常 1–15 分钟 签发。
  • 下载与文件
    • 在控制台下载服务器类型为 Nginx 的证书包。常见两种情形:
      • 由系统生成 CSR:下载包内含 证书文件(PEM,含完整链)私钥文件(KEY)
      • 手动填写 CSR:下载包通常仅含 证书文件(PEM),需与本地保存的 私钥 配套使用。
    • 将证书与私钥上传至服务器安全目录(如 /etc/ssl/cert),妥善保管私钥。

三 部署到 Nginx 并启用 HTTPS

  • 配置监听与证书路径
    • /etc/nginx/nginx.conf 或站点配置中新增监听 443 ssl 的 server 块,指定证书与私钥路径;如证书包内含完整链,可直接指向该 PEM;若分离,需合并中间链后再配置。
  • 示例配置(最小可用)
    server {
        listen 443 ssl http2;
        server_name example.com www.example.com;
    
        ssl_certificate     /etc/ssl/cert/your_domain_chain.pem;   # 主证书+中间链
        ssl_certificate_key /etc/ssl/cert/your_domain.key;       # 私钥
    
        ssl_protocols       TLSv1.2 TLSv1.3;
        ssl_ciphers         HIGH:!aNULL:!MD5;
    
        root /var/www/html;
        index index.html;
    }
    
    # HTTP 自动跳转 HTTPS
    server {
        listen 80;
        server_name example.com www.example.com;
        return 301 https://$host$request_uri;
    }
    
  • 检查与生效
    • 语法检查:sudo nginx -t
    • 热重载:sudo systemctl reload nginx
  • 说明
    • 若使用自签或链不完整证书,浏览器会报“证书链不完整”;需确保 Nginx 的 ssl_certificate 指向包含中间证书链的文件

四 开放端口与安全加固

  • 开放 443 端口
    • 云安全组:添加规则,协议 TCP、端口 443、源 0.0.0.0/0(按需收紧)。
    • 系统防火墙:
      • firewalld:sudo firewall-cmd --permanent --add-port=443/tcp && sudo firewall-cmd --reload
      • ufw:sudo ufw allow 443/tcp
      • nftables:sudo nft add rule inet filter input tcp dport 443 counter accept
      • iptables:sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT(按需持久化)
  • 连通性自检
    • nc -w 3 -vz <公网IP> 443ss -tlnp | grep ':443 ' 确认端口已开放。

五 验证与运维要点

  • 快速验证
    • 浏览器访问 https://域名 检查锁标;使用 SSL Labs SSL Server Test 做深度检测。
    • 命令行检查链与握手:openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
  • 性能与安全优化
    • 启用 HTTP/2(示例:listen 443 ssl http2;)。
    • 启用 OCSP Stapling(示例:ssl_stapling on; ssl_stapling_verify on;)。
    • 启用 HSTS(示例:add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;)。
  • 自动续期与监控
    • 使用 Certbot 自动申请与续期(如:sudo certbot --nginx;定期执行 sudo certbot renew --dry-run 演练)。
    • 设置证书到期监控与告警,避免因过期导致访问中断。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ssl
AI