Nginx 反向代理 Tomcat 传递自定义 Head 问题

Nginx 反向代理 Tomcat 传递自定义 Head 信息遇到几个问题总结一下!

1、Nginx 若只配置 proxy_pass 则不会将原始请求 Head 向 Tomcat 转发,必须配置 proxy_set_header !

server {  
listen       80;  
server_name  mobile.abc.com;  
access_log logs/access-mobile.log main;  
error_log  logs/error-mobile.log;  
  
    location / {  
            proxy_pass http://127.0.0.1:8060/mobile_service/;  
            proxy_set_header HOST $HOST;  
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
            proxy_set_header X-Real-IP $remote_addr;  
            proxy_set_header Request-Url $request_uri;  
        }  
}

2、若请求 Head 信息中存在自定义信息并且以 "_" 下划线间隔,则必须配置underscores_in_headers 否则 Head 无法向 Tomcat 转发!

http {  
    include       mime.types;  
    default_type  application/octet-stream;  
      
    underscores_in_headers on; #自定义 Head 必须定义  
  
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  
                      '$status $body_bytes_sent "$http_referer" '  
                      '"$http_user_agent" "$http_x_forwarded_for"';  
  
    #access_log  logs/access.log  main;  
    ...此处省略...


未经允许请勿转载:程序喵 » Nginx 反向代理 Tomcat 传递自定义 Head 问题

点  赞 (0) 打  赏
分享到: