上一篇
https网站搭建
- 行业动态
- 2025-05-01
- 2336
安装SSL证书,配置服务器支持HTTPS,强制HTTPS访问,更新内部链接为https://
HTTPS网站搭建全流程详解
HTTPS基础原理
HTTPS = HTTP + SSL/TLS加密协议
核心作用:
- 数据加密传输(防止窃听)
- 服务器身份验证(防止假冒)
- 数据完整性校验(防止改动)
SSL证书类型对比
证书类型 | 适用场景 | 成本 | 信任等级 |
---|---|---|---|
DV SSL | 个人博客/小型网站 | 免费/$10-50 | 低 |
OV SSL | 企业官网/电商平台 | $50-200 | 中 |
EV SSL | 金融/政府机构 | $200-500+ | 高 |
证书获取方式
免费证书(推荐新手)
- 颁发机构:Let’s Encrypt
- 有效期:90天(需定期更新)
- 获取方式:
# 使用Certbot自动化工具 certbot certonly --standalone -d example.com
付费证书
- 通过阿里云/酷盾安全等平台购买
- 支持OCSP快速验证
- 提供反面代码保险(部分厂商)
服务器配置指南
Nginx配置示例
生成密钥(如未生成):
openssl genrsa -out server.key 2048
申请证书后配置:
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.key; # 推荐的安全配置 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers on; }
Apache配置要点
- 修改
httpd.conf
添加:<VirtualHost :443> ServerName example.com SSLEngine on SSLCertificateFile "/path/cert.pem" SSLCertificateKeyFile "/path/privkey.key" SSLCertificateChainFile "/path/chain.pem" </VirtualHost>
验证与测试
- 浏览器地址栏检查:
- 绿色锁图标
- 点击查看证书详情
- 在线检测工具:
https://www.ssllabs.com/ssltest/analyze.html - 常见错误排查:
- 端口443被占用 →
netstat -tuln | grep 443
- 证书链不完整 → 检查中间证书拼接顺序
- 端口443被占用 →
维护注意事项
维护项 | 操作建议 |
---|---|
证书更新 | 提前30天续签(Let’s Encrypt需脚本自动更新) |
协议升级 | 禁用SSLv3及以下版本 |
强制HTTPS | 配置301重定向(推荐HSTS头部) |
私钥保护 | 设置400权限限制读取 |
常见问题与解答
Q1:HTTP和HTTPS的主要区别是什么?
A:
- 传输协议:HTTP明文传输,HTTPS使用SSL/TLS加密
- 端口号:HTTP默认80,HTTPS默认443
- 证书需求:HTTPS需要有效SSL证书
- 安全性:HTTPS可防监听/改动/中间人攻击
Q2:SSL证书过期了怎么办?
A:
- 立即重新申请证书
- 暂时关闭443端口访问(防止报错)
- 替换新证书后重启Web服务
- 检查自动续期脚本是否正常运行(针对Let’s