您的位置:首页 > 运维架构 > 反向代理

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

2015-09-07 10:42 666 查看
原文地址:/article/1970884.html

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;
    ...此处省略...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: