ssl_certificate /etc/letsencrypt/live/$ssl_server_name/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/$ssl_server_name/privkey.pem;
│2019/09/22 08:29:42 7714#7714:*3无法加载证书7714#7714 BIO_new_file()失败( SSL :错误:0200100D:系统库:fopen: denied:fopen('/etc/letsencrypt/live/example.com/fullchain.pem','r')错误:2006D002:BIO routines:BIO_new_file:system lib)而SSL握手,client:,服务器: 0.0.0.0:443
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
尝试过很少的参考,但仍无法解决。
发布于 2022-07-05 15:05:44
只需在这里添加响应,以防有人遇到相同的问题。
当nginx开始时,它作为root开始。如果不使用变量,则可以在此时(以root用户身份)加载证书文件。
但是,如果您使用的是变量,则这些文件的加载需要等到请求到达时,此时nginx不再以您在.conf中指定的用户的身份作为根总线运行。看起来这个用户无法读取这些文件。
这就是为什么它在没有变量的情况下工作(以根用户身份打开文件),而在使用这些变量时(尝试以另一个用户的身份打开文件)则不起作用。
您只需要让nginx用户能够读取这些文件。
https://serverfault.com/questions/985187
复制相似问题