Piy*_*tel 3 ssl nginx lets-encrypt
在 NGINX 服务器中出现以下错误,使用 LetsEncrypts 免费 SSL 证书。
2016/06/23 19:53:13 [warn] 5013#0:“user”指令只有在主进程以超级用户权限运行时才有意义,在 /etc/nginx/nginx.conf:1 中被忽略
2016/06/23 19:53:13 [emerg] 5013#0:BIO_new_file("/etc/letsencrypt/live/abc/fullchain.pem") 失败(SSL:错误:0200100D:系统库:fopen:权限被拒绝: fopen('/etc/letsencrypt/live/abc/fullchain.pem','r') error:2006D002:BIOroutines:BIO_new_file:system lib)
小智 14
如果文件上的 chmod 和 chown 都是正确的,这可能是因为您将文件复制到文件夹中 - 也许是主文件夹(例如) - 然后将文件 mv'd 到 NGINX 的位置。SeLinux 会记住原始文件创建位置,并在文件移动到的任何位置应用权限 - 将 SeLinux 权限重置为当前位置/文件权限使用
restorecon filename
这通常会对其进行排序
小智 9
这两个问题都有一个根本原因。
当您尝试使用非 root 用户启动 nginx 时,通常会发生此错误。您可以尝试以 root 身份或在 sudo 下启动。
看起来你对你的 pem 文件有权限,当你从非 root 用户启动它时不允许 nginx 读取它,你可以尝试更改文件权限或以 root 或在 sudo 下启动 nginx。
小智 7
如果您nginx从 www-data 用户运行工作进程,它只需要设置/etc/letsencrypt/文件夹的权限:
chown -R www-data:www-data /etc/letsencrypt/
chmod -R 755 /etc/letsencrypt/
Run Code Online (Sandbox Code Playgroud)
它应该有效
小智 6
你好我也遇到了同样的问题。
setenforce 0
Run Code Online (Sandbox Code Playgroud)
就这样解决了。