Uwsgi与nginx

使用uwsgi部署Django程序。监听unix socket。
之所以这样用,是因为不受端口数量限制,同时本人也有一点强迫症,不喜欢开很多端口。

但是nginx的配置中,设置HTTP请求头无法转发过来。狠狠地chatgpt了一下,没用。
还得Google大法。

最终应该是nginx代理的是unix socket,所以proxy_set_header不管用。

得通过uwsgi设置"HTTP_“为前缀的请求头。

但是我看请求头里有个REMOTE_ADDR好像就是我需要的客户端公网IP地址,又切换手机流量做了几次测试,好像也正常。

探究了下REMOTE_ADDR与X-Real-IP与X-Forwarded-For的区别,感觉还是不太准确。

直到晚上,发现/etc/nginx/uwsgi_params文件里的内容。

uwsgi_param  REMOTE_ADDR        $remote_addr;

确实跟我废了半天力气手动设置的X-Real-IP一模一样,尬住了。

记录下来吧~