WEB-30:网站 SSL 证书配置

王尘宇 网站建设 3

网站 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 配置 ⭐⭐⭐⭐

基础配置:


    ServerName example.com
    ServerAlias www.example.com
    Redirect permanent / https://example.com/



    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

宝塔面板配置 ⭐⭐⭐⭐⭐

一键配置:

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
  2. 2026 年标配
  3. SEO 要求
  4. 用户信任

  5. 免费证书足够

  6. Let's Encrypt
  7. 云厂商免费
  8. 定期续期

  9. 配置优化

  10. TLS 1.2+
  11. 强加密套件
  12. HSTS

  13. 自动续期

  14. 设置自动
  15. 监控到期
  16. 避免过期

  17. 测试验证

  18. SSL Labs 测试
  19. 浏览器测试
  20. 工具测试

西安企业建议

  • 使用免费证书
  • 配置强制 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:网站故障排查指南

标签: 网站建设 SSL

发布评论 0条评论)

  • Refresh code

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