申请 SSL 证书
- 确定证书类型 :根据自身需求,如个人网站或小型企业网站可选择 DV 证书,中小型企业可选 OV 证书,金融机构等对安全性要求极高的网站可选 EV 证书。
- 选择证书颁发机构 :常见的有 Let's Encrypt、阿里云。Let's Encrypt 提供免费证书,阿里云等也提供付费和免费的证书选项。
- 生成 CSR :可通过工具如 OpenSSL 生成 CSR 文件,包含密钥和站点信息。使用命令
openssl genrsa -out private.key 2048生成私钥,openssl req -new -key private.key -out certificate.csr生成 CSR 文件。 - 验证域名所有权 :按照证书颁发机构的要求,选择 DNS 验证、HTTP 验证或邮箱验证等方式验证域名所有权。例如,使用 DNS 验证时,需在域名的 DNS 配置中添加特定的 TXT 记录。
部署 SSL 证书
- 上传证书文件 :将证书文件、私钥文件和中间证书上传到服务器,一般存放在特定目录,如 Nginx 的
/etc/nginx/ssl/目录、Apache 的/etc/apache2/ssl/目录。 - 配置服务器 :根据服务器类型进行配置。以 Nginx 为例,编辑配置文件,添加
listen 443 ssl;、ssl_certificate、ssl_certificate_key、ssl_trusted_certificate等指令,指定证书文件路径等,并配置 HTTP 到 HTTPS 的 301 重定向。 - 重启服务器 :保存配置更改后,重启 Web 服务器使设置生效,如使用命令
sudo systemctl restart nginx重启 Nginx。
强制 HTTP 跳转 HTTPS
完成上述部署后,需通过服务器配置实现 HTTP 流量到 HTTPS 的 301 永久重定向,让用户自动访问加密页面,同时也有助于 SEO。
解决混合内容问题
若网站中存在通过 HTTP 加载的图片、CSS、JS 等资源,浏览器会提示 “部分内容不安全”。需全面扫描网站,使用工具如 Why No Padlock 检测 HTTP 资源,并将其链接替换为 HTTPS 协议,同时确保第三方插件支持 HTTPS。
测试与监控
- 测试 HTTPS 配置 :可使用 SSL Labs 的 SSL Server Test 工具检查 HTTPS 配置是否正确,查看是否存在安全漏洞。
- 监控证书有效期 :证书通常有一定有效期,过期后会导致服务中断,需定期检查并及时续费或重新申请。
使用 Let's Encrypt 自动化部署
Let's Encrypt 提供自动化工具 Certbot,可根据服务器类型安装,能自动生成和部署证书,简化部署流程。