WEB-30:网站 SSL 证书配置

王尘宇 网站建设 2

作者:王尘宇

公司:西安蓝蜻蜓网络科技有限公司

网站:wangchenyu.com

微信:wangshifucn | QQ:314111741

地点:西安 | 从业经验:2008 年至今(18 年)




一句话答案


网站 SSL 证书配置 是通过选择合适的 SSL 证书类型、申请证书、配置服务器、设置 HTTPS 重定向、优化 SSL 安全,实现网站加密传输、提升用户信任、满足 SEO 要求的安全配置方法。




为什么需要 SSL?


安全价值


数据加密:

✅ 传输加密
✅ 防止窃听
✅ 防止篡改
✅ 保护隐私

用户信任:

✅ 浏览器绿锁
✅ 显示公司名 (EV)
✅ 提升信任度
✅ 减少跳出

SEO 价值


排名因素:

✅ Google 排名因素
✅ 百度排名因素
✅ HTTPS 优先索引
✅ 浏览器不警告

数据证明:

- HTTPS 网站排名提升 1-2 位
- 用户信任度提升 30%
- 转化率提升 10-20%



SSL 证书类型


验证级别 ⭐⭐⭐⭐⭐


DV(域名验证):

验证内容:
- 域名所有权
- 邮箱验证
- DNS 验证

特点:
- 申请快(几分钟)
- 价格便宜(免费 -200 元)
- 适合个人/小网站

颁发机构:
- Let's Encrypt(免费)
- 阿里云(免费/付费)
- 腾讯云(免费/付费)

OV(组织验证):

验证内容:
- 域名所有权
- 企业营业执照
- 电话核实

特点:
- 申请较慢(1-3 天)
- 价格中等(500-1500 元/年)
- 显示公司信息
- 适合企业网站

EV(扩展验证):

验证内容:
- 域名所有权
- 企业详细资料
- 法人身份
- 电话核实

特点:
- 申请慢(3-7 天)
- 价格高(2000-5000 元/年)
- 绿色地址栏
- 显示公司名
- 适合电商/金融

域名数量 ⭐⭐⭐⭐


单域名证书:

保护范围:
- 一个域名
- www 和非 www

适合:
- 单网站
- 预算有限

多域名证书:

保护范围:
- 多个域名(2-100 个)
- 不同域名

适合:
- 多网站
- 企业多品牌

通配符证书:

保护范围:
- 一个域名 + 所有子域名
- *.example.com

适合:
- 多子域名
- 业务发展快



证书申请


Let's Encrypt 免费证书 ⭐⭐⭐⭐⭐


Certbot 申请:

# 安装 Certbot
apt-get install certbot python3-certbot-nginx

# 申请证书
certbot --nginx -d example.com -d www.example.com

# 自动续期
certbot renew --dry-run

# 设置自动续期(cron)
0 3 * * * certbot renew --quiet

DNS 验证:

# DNS 验证(适合通配符)
certbot certonly --dns-aliyun -d *.example.com

# 需要配置 DNS API

阿里云证书 ⭐⭐⭐⭐⭐


免费证书申请:

1. 登录阿里云控制台
2. 产品与服务 → SSL 证书
3. 免费证书 → 购买(免费)
4. 填写域名
5. 验证域名
   - 文件验证
   - DNS 验证
   - 邮箱验证
6. 下载证书

付费证书申请:

1. 选择证书类型
   - DV、OV、EV
   - 单域名、多域名、通配符

2. 填写信息
   - 域名
   - 企业信息(OV/EV)

3. 验证
   - 域名验证
   - 企业验证(OV/EV)

4. 下载证书
   - Nginx
   - Apache
   - IIS
   - 其他



服务器配置


Nginx 配置 ⭐⭐⭐⭐⭐


基础配置:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;

    # SSL 证书
    ssl_certificate /etc/ssl/certs/example.com.crt;
    ssl_certificate_key /etc/ssl/private/example.com.key;

    # SSL 优化
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    # HSTS
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    # 其他配置
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

验证配置:

# 测试配置
nginx -t

# 重载配置
nginx -s reload

# 检查 SSL
openssl s_client -connect example.com:443

Apache 配置 ⭐⭐⭐⭐


基础配置:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.com.crt
    SSLCertificateKeyFile /etc/ssl/private/example.com.key
    SSLCertificateChainFile /etc/ssl/certs/chain.crt

    # SSL 优化
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5
    SSLHonorCipherOrder on

    # HSTS
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

    # 其他配置
    DocumentRoot /var/www/html
</VirtualHost>

宝塔面板配置 ⭐⭐⭐⭐⭐


一键配置:

1. 登录宝塔面板
2. 网站 → 设置 → SSL
3. Let's Encrypt
4. 填写域名
5. 申请
6. 强制 HTTPS
7. 保存

自有证书:

1. 网站 → 设置 → SSL
2. 其他证书
3. 粘贴证书内容
4. 粘贴私钥内容
5. 保存
6. 强制 HTTPS



HTTPS 优化


强制 HTTPS ⭐⭐⭐⭐⭐


Nginx 重定向:

# HTTP 重定向到 HTTPS
server {
    listen 80;
    server_name example.com;
    return 301 https://$server_name$request_uri;
}

Apache 重定向:

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

代码重定向:

// PHP
if ($_SERVER['HTTPS'] != 'on') {
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
    exit;
}

// Node.js
app.use((req, res, next) => {
  if (!req.secure) {
    return res.redirect('https://' + req.headers.host + req.url);
  }
  next();
});

HSTS 配置 ⭐⭐⭐⭐⭐


HSTS 头:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

参数说明:

max-age: 有效期(秒)
includeSubDomains: 包含子域名
preload: 加入预加载列表

预加载提交:

访问:https://hstspreload.org/
提交域名
等待审核
加入浏览器预加载列表

SSL 优化 ⭐⭐⭐⭐


协议和加密套件:

# 推荐配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

会话优化:

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;

OCSP Stapling:

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;



证书管理


证书续期 ⭐⭐⭐⭐⭐


Let's Encrypt 自动续期:

# 测试续期
certbot renew --dry-run

# 实际续期
certbot renew

# 设置 cron 自动续期
0 3 * * * certbot renew --quiet --post-hook "systemctl reload nginx"

付费证书续期:

提前 30 天续期:
1. 联系证书提供商
2. 重新验证
3. 下载新证书
4. 部署到服务器
5. 测试验证

证书监控 ⭐⭐⭐⭐


到期监控:

# 检查证书到期时间
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates

# 脚本监控
#!/bin/bash
EXPIRY=$(echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
EXPIRY_EPOCH=$(date -d "$EXPIRY" +%s)
NOW_EPOCH=$(date +%s)
DAYS_LEFT=$(( ($EXPIRY_EPOCH - $NOW_EPOCH) / 86400 ))

if [ $DAYS_LEFT -lt 30 ]; then
  echo "证书将在 $DAYS_LEFT 天后到期" | mail -s "SSL 证书告警" admin@example.com
fi

监控工具:

- Uptime Robot
- SSL Labs
- 证书监控服务
- 自定义脚本



王尘宇实战建议


18 年经验总结


  1. 必须 HTTPS

- 2026 年标配

- SEO 要求

- 用户信任


  1. 免费证书足够

- Let's Encrypt

- 云厂商免费

- 定期续期


  1. 配置优化

- TLS 1.2+

- 强加密套件

- HSTS


  1. 自动续期

- 设置自动

- 监控到期

- 避免过期


  1. 测试验证

- SSL Labs 测试

- 浏览器测试

- 工具测试


西安企业建议


  • 使用免费证书
  • 配置强制 HTTPS
  • 开启 HSTS
  • 监控到期



常见问题解答


Q1:免费证书和付费证书有什么区别?


答:

  • 加密强度:相同
  • 验证级别:付费更高
  • 保险赔付:付费有
  • 企业形象:付费好

Q2:SSL 证书多久换一次?


答:

  • Let's Encrypt: 90 天(自动续期)
  • 免费证书:1 年
  • 付费证书:1-2 年

Q3:HTTPS 会影响速度吗?


答:

  • 轻微影响(<1%)
  • HTTP/2 抵消
  • 现代硬件无感
  • 利大于弊

Q4:如何检查 SSL 配置?


答:

  • SSL Labs: ssllabs.com/ssltest
  • 浏览器检查
  • 命令行工具
  • 在线工具

Q5:证书过期了怎么办?


答:

  • 立即续期
  • 部署新证书
  • 检查影响
  • 设置监控



总结


网站 SSL 证书配置核心要点:


  • 🔒 证书类型 — DV、OV、EV
  • 📝 证书申请 — 免费、付费
  • ⚙️ 服务器配置 — Nginx、Apache
  • 🔄 HTTPS 优化 — 重定向、HSTS
  • 📅 证书管理 — 续期、监控

王尘宇建议: SSL 是网站安全的基础。选择合适的证书,正确配置,定期续期,确保安全。




关于作者


王尘宇

西安蓝蜻蜓网络科技有限公司创始人


联系方式:

  • 🌐 网站:wangchenyu.com
  • 💬 微信:wangshifucn
  • 📱 QQ:314111741
  • 📍 地址:陕西西安



本文最后更新:2026 年 3 月 18 日

版权声明:本文为王尘宇原创,属于"网站建设系列"第 30 篇,转载请联系作者并注明出处。

下一篇:WEB-31:网站故障排查指南


发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~