nginx的proxy_set_header
2017-07-13 15:48
686 查看
nginx配置的server段:
如果直接调用http://wyc.com:8888/name 返回
将HOST修改为一个欺骗的host发送给代理服务器,调用http://wyc.com:8888/user
规则: $http_自定义header名 这里要注意 header名要都转成小写 中划线改成下划线
请求:
结果:
listen 8888; server_name wyc.com; location /user { proxy_set_header HOST fake.com; proxy_set_header X-Real-IP 8.8.8.8; proxy_set_header X-Forwarded-For 8.8.8.8,9.9.9.9; proxy_pass http://wyc.com:8888/name; } location /name { echo $host; echo $proxy_add_x_forwarded_for; echo $remote_addr; }
如果直接调用http://wyc.com:8888/name 返回
localhost 127.0.0.1 127.0.0.1
将HOST修改为一个欺骗的host发送给代理服务器,调用http://wyc.com:8888/user
fake.com 8.8.8.8,9.9.9.9, 127.0.0.1 127.0.0.1
自定义header头
自定义的header头www,会默认被proxy_pass到后端,如果header头aaa是依赖于其他的header头而改变:例如取决于另一个header头xyz的值。规则: $http_自定义header名 这里要注意 header名要都转成小写 中划线改成下划线
proxy_set_header www "2223"; proxy_set_header aaa $http_xyz;
请求:
curl -X GET \ http://wyc.com:8888/wuyachao \ -H 'cache-control: no-cache' \ -H 'token: 3be0f904-ab22-5a9d-d389-57e584f30097' \ -H 'user: wyc' \ -H 'xyz: 123456'
结果:
{ "x-forwarded-for": "127.0.0.1", "connection": "close", "user": "wyc", "accept-language": "zh-CN,zh;q=0.8,en;q=0.6", "x-real-ip": "127.0.0.1", "cache-control": "no-cache", "host": "wwyycc.com", "accept-encoding": "gzip, deflate", "accept": "*/*", "www": "2223", "token": "aa68b268-a56d-5687-5542-9659c0b54bd4", "xyz": "123456", "aaa": "123456", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36" }
相关文章推荐
- nginx中proxy_set_header Host $host;的作用
- 【转】nginx中proxy_set_header Host $host的作用
- nginx中proxy_set_header Host $host的作用
- nginx反向代理proxy_set_header自定义header头无效的问题
- nginx反向代理配置(nginx.conf+proxy_set_header)
- nginx中proxy_set_header 的作用
- NGINX 配置的一个坑,proxy_set_header 中携带下划线
- 关于nginx中proxy_set_header的设置
- 【Nginx的坑】nginx反向代理proxy_set_header自定义header头无效的问题
- nginx中proxy_set_header Host $host的作用
- nginx的proxy_set_header
- nginx反向代理proxy_set_header自定义header头无效
- nginx-upstream-keepalive;accept_mutex-proxy_http_version-1.1-proxy_set_header-connection
- nginx中proxy_set_header Host $host的作用
- proxy_set_header和X-Forwarded-For
- proxy_set_header
- proxy_set_header设置Host为$proxy_host,$host与$local_host的区别
- Nginx隐藏主机信息,proxy_hide_header 与fastcgi_hide_header
- Nginx proxy_set_header中$proxy_host,$host,$http_host的区别
- nginx conf header set