客户端正在向我的 Nginx 反向代理发送自定义 HTTP 标头X-ABC-LOGIN-NAME
。为了确保它确实到达,安装了 PHP 服务器 (fastcgi),并且此标头确实显示在phpinfo()
“PHP 变量”部分中(带有值)。
我使用 Gunicorn 服务器操作 Django 后端,并在 Django 代码中将所有标头打印到控制台。当我为 /etc/nginx/sites-enabled/default 中的 分配静态值时X-ABC-LOGIN-NAME
,该值到达后端。在 nginxdefault
文件中,如下所示:
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# include snippets/self-signed.conf;
# include snippets/ssl-params.conf;
# server_name localhost;
server_name dev_server;
underscores_in_headers on;
location / {
proxy_pass http://localhost:8000;
proxy_pass_request_headers on;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-ABC-LOGIN-NAME "static_name"; # <-- "static_name" arrives …
Run Code Online (Sandbox Code Playgroud)