技术解析

无法获取proxy_set_header的变量值
0
2021-05-31 13:08:21
idczone
日志格式:
log_format main '[$http_h1ost][$http_x_real_ip] [$http_x_forwarded_for] [$remote_addr] [$remote_port] [$server_addr]';

服务段:
server {
listen 80;
server_name xx.xxx.com;

#charset koi8-r;
access_log logs/access.log main ;
error_log logs/error.log debug;
location / {
proxy_pass http://xxx.com:8080;
index index.html index.htm index.jsp default.jsp index.action index.do default.action default.do;
proxy_set_header h1ost $host;
proxy_set_header X-real-国外服务器ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}


然后我查看日志记录,是这样的
[-][-] [-] [133.126.116.250] [52849] [131.201.192.51]
[-][-] [-] [133.126.116.250] [19025] [131.201.192.51]


也就是说我自定义的变量没有获取到,然后我搜了一下,说是要配置http部分,增加underscores_in_headers on;
但也没用,求帮助啊!
proxy_set_header是给后面服务器看的

什么意思?那我有什么办法去看这个值获取了没有呢?

proxy_pass的目标,也就是那个http://xxx.com:8080的服务器才能看到这个header
你这里是看不到的

[$http_x_real_ip]去掉
$http_h1ost应该是$http_host

服务段我自定义了变量啊,不用nginx自带的

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服