为了账号安全,请及时绑定邮箱和手机立即绑定

(13:权限被拒绝)连接上游时:[nginx]

(13:权限被拒绝)连接上游时:[nginx]

ibeautiful 2019-09-18 11:01:12
我正在使用Nginx和Gunicorn配置Django项目。当我gunicorn mysite.wsgi:application --bind=127.0.0.1:8001在Nginx服务器中访问我的端口时,我在错误日志文件中收到以下错误;2014/05/30 11:59:42 [暴击] 4075#0:* 6 connect()到127.0.0.1:8001失败(13:权限被拒绝)连接上游时,客户端:127.0.0.1,服务器:localhost,请求:“GET / HTTP / 1.1”,上游:"http://127.0.0.1:8001/",主机:“localhost:8080”以下是我的nginx.conf文件内容;server {    listen 8080;    server_name localhost;    access_log  /var/log/nginx/example.log;    error_log /var/log/nginx/example.error.log;    location / {        proxy_pass http://127.0.0.1:8001;        proxy_set_header X-Forwarded-For $remote_addr;        proxy_set_header Host $http_host;    }}在我得到的HTML页面中502 Bad Gateway。我做错了什么?
查看完整描述

3 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

我也遇到过这个问题。另一个解决方案是切换httpd网络连接的SELinux布尔值on(Nginx使用httpd标签)。


setsebool httpd_can_network_connect on

要使更改保持不变,请使用-P标志。


setsebool httpd_can_network_connect on -P

您可以看到httpd使用的所有SELinux布尔值列表


getsebool -a | grep httpd


查看完整回答
反对 回复 2019-09-18
?
繁星coding

TA贡献1797条经验 获得超4个赞

在Centos 7上遇到了类似的问题。当我尝试应用Sorin规定的解决方案时,我开始在周期中移动。首先,我获得了{write}拒绝的许可。然后,当我解决了我的权限{connectto}被拒绝。然后再回到权限{write}被拒绝。


在@Sid上面回答使用getsebool -a | grep httpd和切换它们检查标志后,我发现除了httpd_can_network_connect关闭之外。http_anon_write也被关闭导致权限被拒绝写入和权限被拒绝{connectto}


type=AVC msg=audit(1501830505.174:799183): avc:  

denied  { write } for  pid=12144 comm="nginx" name="myroject.sock" 

dev="dm-2" ino=134718735 scontext=system_u:system_r:httpd_t:s0 

tcontext=system_u:object_r:default_t:s0 tclass=sock_file

使用sudo cat /var/log/audit/audit.log获取 grep nginx | 如上所述,grep被拒绝了。


所以我一次解决了一个,一次一个地切换标志。


setsebool httpd_can_network_connect on -P

然后运行@sorin和@Joseph指定的命令


sudo cat /var/log/audit/audit.log | grep nginx | grep denied | 

audit2allow -M mynginx

sudo semodule -i mynginx.pp

基本上你可以检查在setsebool上设置的权限,并将其与从grepp'ing'audit.log nginx获得的错误相关联,被拒绝


查看完整回答
反对 回复 2019-09-18
  • 3 回答
  • 0 关注
  • 1119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信