前几天照例打开网站发现 ssl 证书到期,我就去宝塔面板重新部署,可能因为我的 memos 和主站申请了两个证书导致混淆部署,出现了报错,一时慌了神。当时正好也有事情就没有管。昨天正在在宝塔面板上操作了一番,结果倒好网址都无法访问了。nginx 因为报错也无法重启,一直显示的就是加载证书出错。
nginx version: nginx/1.26.3
nginx: [emerg] cannot load certificate "/www/server/panel/vhost/cert/wuyong.cloud/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/www/server/panel/vhost/cert/wuyong.cloud/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed
昨天在解决的过程中忽然想到了 临时禁用 ssl 是不是最快的方式解决加载证书出错。我们首先找到 nginx 设置文件:/www/server/panel/vhost/nginx/wuyong.cloud.conf。注释掉证书密码和 listen 443 ssl,具体可以参考如下:
server
#ssl_certificate /www/server/panel/vhost/cert/wuyong.cloud/fullchain.pem;
#ssl_certificate_key /www/server/panel/vhost/cert/wuyong.cloud/privkey.pem;
# server {
# listen 443 ssl;
# ...
# }
操作完这些后,再去重启 nginx 应该就可以不带证书运行网站了。
nginx -t systemctl restart nginx