Luk*_*ski 0 nginx flask uwsgi docker
我的Python应用程序(Flask)运行在uWSGI(应用程序服务器)后面,(http服务器)前面Nginx,并打包在docker容器中。我试图实现的是将真实 IP 地址从 http 服务器 ( Nginx) 转发到我的应用程序服务器 ( uWSGI)。
为此,我在 nginx 配置中指定了 headers X-Real-IP。X-Forwarded-For不幸的是,检查烧瓶时request.headers我只能看到
Host标题,其余两个丢失了。
相同的设置适用于gunicorn,并且我的标题存在。知道如何修复它吗?
server {
listen 80;
server_name app.local;
## uWSGI setup for API
location /api {
include /etc/nginx/uwsgi_params;
uwsgi_pass unix:///var/run/app.uwsgi.sock;
uwsgi_param Host $host;
uwsgi_param X-Real-IP $remote_addr;
uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案。我只需在 myX-HEADERS前面加上HTTP. 这是一个例子。
# From
uwsgi_param X-Real-IP $remote_addr;
uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
# To
uwsgi_param HTTP_X-Real-IP $remote_addr;
uwsgi_param HTTP_X-Forwarded-For $proxy_add_x_forwarded_for;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1968 次 |
| 最近记录: |