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;  
    ...此处省略...


赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏