FastAPI部署中刷新SSL证书后仍提示无效,但证书尚有1年有效期?
我已刷新SSL证书,当前部署了FastAPI服务,但仍收到证书无效的提示(浏览器提示截图:证书无效提示)。不过查看证书详情时发现它仍然处于有效期内(证书详情截图:有效证书详情)。请问有没有人遇到过类似问题?
排查建议
确认FastAPI服务加载的是新证书
刷新证书后最常见的问题是服务没重启,或者启动配置里还是指向旧证书文件。比如用Uvicorn启动FastAPI时,要确保命令里的证书路径是新文件:uvicorn main:app --host 0.0.0.0 --port 443 --ssl-keyfile ./new_private.key --ssl-certfile ./new_certificate.crt核对
--ssl-keyfile和--ssl-certfile的路径,确认无误后重启服务再测试。清除浏览器缓存或用隐身模式测试
浏览器会缓存旧的SSL证书信息,尤其是之前访问过该域名的情况。直接开隐身窗口访问,或者手动清除浏览器缓存(Chrome在chrome://settings/privacy,Firefox在about:preferences#privacy),再尝试访问。检查证书链是否完整
很多CA颁发的证书需要搭配中间证书才能被浏览器信任,只部署主证书会触发无效提示。你可以用以下命令检查服务器返回的证书链:openssl s_client -connect yourdomain.com:443如果输出里有
untrusted相关提示,说明需要把中间证书和主证书合并后再部署。核对证书的域名匹配性
检查证书的Subject Alternative Name(SAN)字段,确认包含你当前访问的域名。比如你用www.example.com访问,但证书只覆盖example.com,也会提示无效。可以用命令查看SAN:openssl x509 -in certificate.crt -text -noout检查服务器系统时间
如果服务器时间和实际时间偏差过大(比如早于证书生效时间,或晚于过期时间),浏览器会判定证书无效。执行date命令查看服务器时间,确保和当前实际时间一致。
内容的提问来源于stack exchange,提问作者Mario van Rooij

