NGINX SSL:错误:0200100D:系统库:fopen:权限被拒绝

Cra*_*aig 5 linux ssl certificate permissions nginx

我已经坚持了很长时间,我希望有人能提供一些建议。

尝试在站点上安装新的 SSL 证书。运行时nginx -t出现以下错误:

nginx: [emerg] BIO_new_file("/etc/nginx/ssl/mysite_com/mysite_com.crt") failed (SSL: error:0200100D:system library:fopen:Permission denied:fopen('/etc/nginx/ssl/mysite_com/mysite_com.crt','r') error:2006D002:BIO routines:BIO_new_file:system lib)
nginx: configuration file /etc/nginx/nginx.conf test failed
Run Code Online (Sandbox Code Playgroud)

现在我已将 mysite_com.crt 上的所有者/组设置为与通过 nginx 测试正常的先前配置中的文件相同。我也将权限设置为相同。即使暂时将文件权限设置为 777 进行测试也会出现同样的错误。我还尝试使用 777 在分区的根目录中创建一个 /ssl/ 目录,但仍然出现相同的错误。我已经将所有者设置为http这台机器上的网络服务器用户,什么都没有。

我完全被难住了。有什么建议?

Ale*_*hev 3

只有一个建议,您没有足够的权限来访问 file /etc/nginx/ssl/mysite_com/mysite_com.crt。当您在您的帐户下启动时nginx -t,nginx 以您的权限启动,并且无法访问此文件。有两种方法可以在不进行任何更改的情况下解决此问题。第一个 -nginx -t在 root 帐户下运行或通过 sudo 来测试配置,第二个 -nginx -t在 http 帐户下运行以查看 nginx 在真实环境中如何启动。但如果您想进行更改,您可以将您的用户添加到 http 组并尝试运行nginx -t.