Nginx 1.14端口3443部署SSL无效,仍用过期证书问题排查
解决Nginx 1.14端口3443 SSL配置未加载导致证书过期错误
验证目标配置是否被加载
执行nginx -T(大写T)输出所有生效的Nginx配置,搜索/etc/nginx/conf.d/my_domain-ssl.conf或listen 3443:- 若未找到相关内容,检查主配置文件
/etc/nginx/nginx.conf是否包含include /etc/nginx/conf.d/*.conf;,缺失则添加该行后重载Nginx。
- 若未找到相关内容,检查主配置文件
检查配置语法与文件权限
- 执行
nginx -t检测配置语法,若报错根据提示修复(比如证书路径拼写错误)。 - 确认Nginx运行用户(通常为
www-data或nginx)能读取证书文件:/home/ubuntu/目录默认权限可能限制外部用户访问,建议将证书移至/etc/nginx/ssl/目录。- 设置证书权限:
chmod 600 /etc/nginx/ssl/*.crt /etc/nginx/ssl/*.key,修改所属组:chown root:nginx /etc/nginx/ssl/*。
- 执行
确认证书本身有效性
执行openssl x509 -in /home/ubuntu/my_domain_chain.crt -text -noout查看证书有效期,同时检查证书链是否完整(chain.crt需包含服务器证书及中间证书)。排查冲突的server块
用nginx -T搜索所有listen 3443的配置,若存在其他监听3443端口的server块,可能导致Nginx优先加载旧配置,需删除或修改冲突的配置。重载Nginx并验证生效
- 执行
systemctl reload nginx(systemd系统)或service nginx reload重载配置,若重载失败则执行systemctl restart nginx强制重启。 - 查看错误日志排查问题:
journalctl -u nginx或/var/log/nginx/error.log。
- 执行
测试实际返回的证书
执行openssl s_client -connect mydomain.co:3443,查看输出中的证书信息,确认是否为你指定的有效证书。若仍显示过期证书,回到配置加载环节重新排查。
内容的提问来源于stack exchange,提问作者rahulserver
相关产品推荐
相关产品推荐

