我正在使用Nginx和Gunicorn配置Django项目.

当我在Nginx服务器上访问我的端口gunicorn mysite.wsgi:application --bind=127.0.0.1:8001时,我的错误日志(log)文件中出现以下错误;

2014/05/30 11:59:42[CRET]4075#0:*6 CONNECT()to 127.0.0.1:8001连接到upstream 时失败(13:权限被拒绝),客户端:127.0.0.1,服务器:localhost,请求:"Get/HTTP/1.1",upstream :"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.

我犯了什么错?

推荐答案

免责声明

在运行此程序之前,请确保您的用例没有安全隐患.

答复

让Fedora20、Nginx、Node.js和Ghost(博客)运行时,我遇到了类似的问题.原来我的问题是因为SELinux.

这应该可以解决问题:

setsebool -P httpd_can_network_connect 1

详细信息

我判断了SELinux日志(log)中的错误:

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

我发现运行以下命令解决了我的问题:

sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
sudo semodule -i mynginx.pp

选项2(未经测试,但可能更安全)

setsebool -P httpd_can_network_relay 1

https://security.stackexchange.com/questions/152358/difference-between-selinux-booleans-httpd-can-network-relay-and-httpd-can-net

参考文献

http://blog.frag-gustav.de/2013/07/21/nginx-selinux-me-mad/
https://wiki.gentoo.org/wiki/SELinux/Tutorials/Where_to_find_SELinux_permission_denial_details
http://wiki.gentoo.org/wiki/SELinux/Tutorials/Managing_network_port_labels

Django相关问答推荐

Django-将html数据保存到quillfield中

如何在对接合成时创建两个Postgres数据库?

模仿没有像预期的那样工作(Django)

使用自定义模型注册后,Django无法登录

Django:添加第二个';详细';用于检索额外信息的视图

Django 按月分组并按月显示在模板中

Django 关系嵌套related_name

如何连接到 docker 容器中的 postgres 数据库?

Django中的多对多关系?

Django中的 联合(Union) 和相交(Intersect)

Django 模板中的 Handlebars.js

Django:在模板中呈现表单字段时添加 CSS 类

我的 django 模板布尔变量在 javascript 中没有按预期工作

是否有 django 模板过滤器来显示百分比?

JSP模板继承

Django 相当于 COUNT 和 GROUP BY

Django 模板上的 URL 编码

Django 模板列表的第一个元素

在 Django 中测试different layers的最佳实践是什么?

如何在 django 2.0 admin 中使用 allow_tags?