我无法将特定于应用程序的标头传递给在uWSGI和Flask上运行的应用程序
这是我的nginx.conf文件
proxy_pass http://localhost:5000/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-NginX-Proxy true;
proxy_pass_request_headers on;
proxy_set_header $HTTP_Chart-Type $http_chart_type;
}
这些是我的标题从chrome:
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cache-Control: no-cache
chart_type: line
我正在尝试将chart_type标题传递到后端。
谢谢
1条答案
按热度按时间gab6jxml1#
proxy_pass_request_headers
的默认值是on
,所以应该没有必要显式设置它(除非在配置中的某个地方关闭了它,并且这对您的配置有影响)。使用默认设置(
on
),Nginx将所有头文件传递到后端,因此您不需要任何特殊配置来传递自定义头文件(假设您的http_chart_type
是自定义头文件)。您在从Nginx向后端传递
http_chart_type
头文件时遇到的问题可能与Nginx默认不允许头文件名称带有下划线有关。请参见https://stackoverflow.com/a/74798560/3571。