×
登录
我已经注册了,直接登录
注册
我还没有注册用户,现在注册
  • 请输入手机号码

  • 请输入密码

  • 点击刷新验证码

云服务器HTTPS如何部署

2025-12-14 02:43:37 来源:紫云

云服务器 HTTPS 部署全流程
一 准备与规划

  • 准备材料:一个已解析到服务器公网 IP 的域名、一台可通过 SSH 管理的云服务器、以及将要部署的 Web 服务(如 Nginx/Apache)。
  • 选择证书:常见类型有 DV/OV/EV;个人与大多数网站选 DV 即可,支持 Let’s Encrypt 免费证书或云厂商提供的免费/付费证书。
  • 端口与安全组:开放 TCP 80/443;如部署在 CDN/负载均衡 后,证书通常在边缘节点终止,源站可用 HTTP 或自签证书做回源加密。
  • 工具建议:本地生成 CSR/私钥、使用 Certbot 自动续期(Let’s Encrypt),或按云厂商控制台指引下载适配 Nginx/Apache 的证书包。

二 获取并安装证书

  • 方式 A(推荐)自动签发与续期(Let’s Encrypt + Certbot)

1) 安装 Certbot:Ubuntu/Debian 执行 sudo apt-get install certbot python3-certbot-nginx;CentOS/RHEL 执行 sudo yum install certbot python3-certbot-nginx。
2) 获取并写入证书(Nginx):sudo certbot --nginx -d example.com -d www.example.com;按提示选择是否重定向 HTTP→HTTPS
3) 自动续期:sudo certbot renew --dry-run(生产建议加入系统定时任务)。

  • 方式 B 云厂商控制台申请并下载证书

1) 在云厂商控制台申请证书(DV 免费或付费),完成域名所有权验证后下载对应 Nginx/Apache 证书包。
2) 将证书与私钥上传至服务器安全目录(如 /etc/ssl//etc/nginx/ssl/),并记录文件路径。
三 配置 Web 服务器

  • Nginx 示例(含 HTTP→HTTPS 强制跳转)
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate     /etc/nginx/ssl/example.com.pem;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_trusted_certificate /etc/nginx/ssl/chain.pem;  # 若下载包含 chain/bundle 则配置
ssl_protocols       TLSv1.2 TLSv1.3;
ssl_ciphers         ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
root /var/www/html;
index index.html;
location / { try_files $uri $uri/ =404; }
}
# 检查并重载
sudo nginx -t && sudo systemctl reload nginx
  • Apache 示例(CentOS 7,httpd)

1) 启用模块与站点:sudo yum install mod_ssl -y;确认 /etc/httpd/conf.modules.d/00-ssl.conf 中 LoadModule ssl_module 已启用。
2) 编辑 /etc/httpd/conf.d/ssl.conf(或自定义 VirtualHost):


DocumentRoot "/var/www/html"
ServerName example.com
SSLEngine on
SSLCertificateFile      /etc/httpd/ssl/2_example.com.crt
SSLCertificateKeyFile   /etc/httpd/ssl/3_example.com.key
SSLCertificateChainFile /etc/httpd/ssl/1_root_bundle.crt

3) HTTP 跳转 HTTPS(在 httpd.conf 或 .htaccess 启用 rewrite 后):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]

4) 重启:sudo systemctl restart httpd。
四 验证与优化

  • 快速验证
  • 浏览器访问 https://example.com,确认地址栏显示锁标识且证书为你的域名。
  • 命令行:curl -I https://example.com 应返回 HTTP/2 200 等成功信息。
  • 在线检测:使用 SSL Labs 测试评分与链完整性。
  • 安全与性能优化
  • 启用 TLS 1.2/1.3,禁用 SSLv3/TLS1.0/1.1 与不安全套件。
  • 开启 HSTS(Strict-Transport-Security),提升首次访问安全与评分。
  • 开启 OCSP Stapling,减少证书状态查询延迟与隐私暴露。
  • 全站资源使用 HTTPS,消除混合内容;必要时配置 HTTP→HTTPS 301 统一跳转。

五 常见问题与排障

  • 端口未放行:安全组/本机防火墙未开放 443,导致无法建立 TLS 连接。
  • 证书链不完整:浏览器报“证书不受信任/链缺失”,在 Nginx 配置 ssl_trusted_certificate 指向 chain/bundle 文件(Apache 使用 SSLCertificateChainFile)。
  • 私钥不匹配或权限过宽:证书与私钥不匹配会握手失败;私钥应仅对必要用户可读(如 600)。
  • 混合内容:页面仍通过 HTTP 加载资源(JS/CSS/图片),需改为 HTTPS 或使用协议相对路径。
  • 证书过期:浏览器告警,需提前续费/自动续期并平滑替换证书文件。

开始使用我们的产品

销售客服
售后技术支持