2

我使用 nginx 作为使用 gunicorn 的 django 应用程序的代理,问题是在某些时候我收到来自另一个站点的 POST 请求。

问题似乎是 nginx 没有正确地将 POST 请求重定向到 gunicorn 守护进程。

我能做些什么来解决这个问题,我需要的是能够将 POST 请求发送到 gunicorn 守护程序,以便我的 django 应用程序处理它......谢谢......

这是我的 nginx 配置文件

server {

    server_name www.rinconcolombia.com;
    access_log  /var/log/nginx/rinconcolombia.log;

    location / {
        ssi on;
        proxy_pass http://127.0.0.1:8888;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /static/ {
                autoindex on;
        root /home/rincon/sites/rinconcolombia/checkouts/rinconcolombia/;
    }

    location /static/admin_media/ {
                autoindex on;
        root /home/rincon/sites/rinconcolombia/checkouts/rinconcolombia/;
    }

}

server {
    server_name www.rinconcolombia.com;
    rewrite ^(.*) http://www.rinconcolombia.com$1;
}

更新发送 POST 的应用程序收到 BAD REQUEST 错误...如果我手动使用 resty 或 curl 进行 POST 它确实将发布消息传递到我的服务器...

4

1 回答 1

3

您的 nginx 配置稍有错误,因为您缺少 fail_timeout 位。有关 gunicorn/nginx 示例,请参见此处:https ://github.com/benoitc/gunicorn/blob/master/examples/nginx.conf

特别是第 58 和 115 行。

如果这没有帮助,你会在 nginx error.log 中得到什么吗?

于 2011-04-18T21:56:13.833 回答