我的知识记录

多域名证书申请失败:SAN配置与验证_HTTPS_SSL证书_

官方文档对HTTPS的说明比较简略,很多参数和边界情况没提到。实际操作中碰到的问题比文档里写的多。这篇文章补充文档没覆盖的细节,包括各种环境下的差异处理。

Let's Encrypt免费证书用的人多,申请失败的情况也常见。域名解析不对、80端口不通、验证文件访问不到、申请频率超限,这些原因占了失败案例的大部分。

标准操作流程如下,建议按顺序执行。

申请SSL证书先确认域名解析正确。A记录指向服务器IP,或者CNAME指向CDN。Let's Encrypt用certbot命令申请,certbot certonly --webroot -w /网站根目录 -d 域名.com -d www.域名.com。验证文件自动放在.well-known目录,80端口要能访问。

证书安装到Nginx。配置文件里ssl_certificate指向fullchain.pem,ssl_certificate_key指向privkey.pem。监听443端口,开启ssl。ssl_protocols用TLSv1.2 TLSv1.3,ssl_ciphers用高强度加密套件。配置完nginx -t测试语法,再reload。

强制HTTPS跳转。80端口的server块里return 301 https://$host$request_uri。注意CDN环境下要判断X-Forwarded-Proto,避免跳转死循环。if ($http_x_forwarded_proto != 'https') { return 301 https://$host$request_uri; }

检查混合内容。页面里的图片、CSS、JS如果还是HTTP链接,浏览器会提示不安全。数据库批量替换UPDATE article SET content=REPLACE(content,'http://','https://')。相对路径//开头的资源会自动适配协议,推荐用这种写法。

以下注意事项能帮你少走弯路。

更新前看更新日志和兼容性。CMS大版本升级可能不兼容旧模板和插件,PHP升级可能导致旧代码报错,系统更新可能影响服务配置。先在测试环境验证,备份后再升级生产环境,升级完全面测试功能。

SSL证书快到期前续期。Let's Encrypt 90天有效期,配置自动续期但要定期检查是否成功。付费证书1年有效期,到期前1个月申请新证书更换。证书过期浏览器提示不安全,用户看到警告就会离开,影响流量和转化。

API接口和第三方服务要做异常处理。调用外部接口加超时和重试,返回错误要有降级方案,不要因为第三方服务挂了导致自己网站崩溃。密钥和Token不要硬编码在代码里,放配置文件并且不要提交到公开代码仓库。

常见的几个疑问集中回答一下。

问:Linux命令记不住怎么办?答:常用命令就那十几个,man命令看手册,--help看参数。历史记录用方向键翻,history看所有执行过的命令。复杂操作写脚本,下次直接运行脚本不用记命令。运维文档记录常用操作步骤,照着做就行。

问:数据库密码忘记了怎么办?答:有服务器权限的话MySQL安全模式启动重置密码,或者看网站配置文件里存的数据库密码。宝塔面板在数据库管理里能看密码(点眼睛图标)。没服务器权限找主机商重置。

运维经验就是踩坑踩出来的。这个问题第一次处理可能要花半天,照着指南做半小时能搞定。处理完把自己的操作过程记下来,补充到运维手册里,下次更快。团队共享手册,新人也能快速上手。

多域名证书申请失败:SAN配置与验证_HTTPS_SSL证书_

标签:

更新时间:2026-08-26 23:02:54

上一篇:泛域名 301 到主域名301规则怎么写_IIS 虚拟主机虚拟主机实操

下一篇:禁用TRACE方法后用curl命令验证配置是否生效的方法_网站安全运维实战指南