Python 通过nginx反向代理(Django应用程序)检查Wadded的代理集标头

Python 通过nginx反向代理(Django应用程序)检查Wadded的代理集标头,python,django,ubuntu,nginx,proxy,Python,Django,Ubuntu,Nginx,Proxy,我正在使用nginx作为我的Django应用程序的gunicorn反向代理,而且我对web服务器配置是新手。我的应用程序有一个postgres后端,托管它的机器上安装了Ubuntu14.04 lts 我有理由怀疑我的nginx配置没有正确地将代理集头转发到Django应用程序。我是否可以在linux命令行上查看(例如打印?)转发的主机、http_用户_代理、远程地址等,以测试我的直觉 其次,如何检查我的Django应用程序是否收到了正确的转发IP?例如,我可以以某种方式打印 /etc/nginx

我正在使用nginx作为我的Django应用程序的gunicorn反向代理,而且我对web服务器配置是新手。我的应用程序有一个postgres后端,托管它的机器上安装了Ubuntu14.04 lts

我有理由怀疑我的nginx配置没有正确地将代理集头转发到Django应用程序。我是否可以在linux命令行上查看(例如打印?)转发的主机、http_用户_代理、远程地址等,以测试我的直觉

其次,如何检查我的Django应用程序是否收到了正确的转发IP?例如,我可以以某种方式
打印

/etc/nginx/sites available/myproject:

server {
    listen 80;
    server_name example.cloudapp.net;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/mhb11/folder/myproject;
    }

    location / {
        proxy_set_header Host $host;
        proxy_set_header User-Agent $http_user_agent;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://unix:/home/mhb11/folder/myproject/myproject.sock;
    }
   error_page 500 502 503 504 /500.html;
   location = /500.html {
        root /home/mhb11/folder/myproject/templates/;
   }
}

您所要做的就是在Django项目级别打印出
request.META
,以查看所有这些值都设置为什么。如果出现错误并且debug设置为True(只需向下滚动,您将看到一个大表,其中填充了所有
request.META
值),就会自动发生这种情况

或者您可以从views.py中自己打印它,或者如果这不起作用,则可以从您拥有的任何中间件中打印。您甚至可以为此编写自定义中间件。让我知道,如果你需要进一步澄清这一点,我可以给你基本的代码片段了