生产环境ssl证书需选用可信ca签发的证书并正确部署至服务入口。应选择let’s encrypt、商业ca或私有ca(仅内网),部署于nginx/apache、uvicorn/gunicorn、tomcat或k8s ingress,并验证有效性及配置自动续期。

生产环境用 SSL 证书,核心就两点:用可信证书 + 正确部署到服务入口。不是装上就行,关键在选对类型、配对路径、验证有效性和持续维护。
选对证书类型
生产环境必须用浏览器和操作系统默认信任的证书,不能用自签名。主流选择有三类:
- Let’s Encrypt 免费证书:适合绝大多数公网服务,90 天有效期,靠 certbot 自动续期即可
- 商业 CA(如 DigiCert、Sectigo、阿里云/腾讯云 SSL):支持通配符、多域名、EV 增强验证,适合企业官网、金融类应用
- 私有 CA(仅限内网):需提前将根证书分发并安装到所有客户端信任库,不适用于对外服务
部署到常见服务入口
SSL 不直接装在业务代码里,而是由前端反向代理或应用服务器承载:
- Nginx / Apache:把证书文件(
.crt或fullchain.pem)和私钥(.key或privkey.pem)路径写进 server 块,监听 443 端口,强制重定向 HTTP → HTTPS - Uvicorn(FastAPI)、Gunicorn(Flask)等:通过
--ssl-certfile和--ssl-keyfile参数指定路径,但不建议直接暴露给公网,应前置 Nginx - Tomcat:需将证书导入 JKS keystore,修改
server.xml中 Connector 的SSLEnabled="true"及相关 keystore 配置 - Kubernetes Ingress(如 Nginx Ingress Controller):通过 Secret 对象挂载证书,Ingress 资源中引用该 Secret
验证与维护不能跳过
- 部署后立即用浏览器访问,确认锁图标正常、无“不安全”提示;用
curl -I https://your-domain.com检查状态码和 header - 用 SSL Labs 扫描评级,重点关注协议版本(TLS 1.2+)、密钥交换强度、证书链完整性
- 设置自动续期(Let’s Encrypt 推荐
certbot renew --quiet --no-self-upgrade加 systemd timer 或 cron) - 记录证书到期时间,至少提前 7 天检查续期是否成功,避免服务中断
不复杂但容易忽略。











