nginx配置的server段:

        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"
}

最新文章

  1. Atitit 图像处理的摩西五经attilax总结
  2. django数据库操作和中间件
  3. Plupload上传组件 + javaweb实现上传源码以及DEMO
  4. Java里Serializable的那些事
  5. java获取获得Timestamp类型的当前系统时间。
  6. pascal矩阵
  7. Android——文件的保存和读取
  8. lipo命令
  9. Tomcat无法安装 Check your settings and permissions Ignore and continue anyway
  10. 网站教学 提纲总结到ajax结束后面还有
  11. launch failed.Binary not found
  12. MFC实现为窗体添加的背景图片
  13. iOS回顾笔记(06) -- AutoLayout从入门到精通
  14. linux下svn命令大全(转)
  15. LeetCode 74. Search a 2D Matrix(搜索二维矩阵)
  16. Spark ML源码分析之二 从单机到分布式
  17. [Codeforces 864F]Cities Excursions
  18. Louvain 算法原理
  19. day9 集合操作
  20. Sprint最后一天

热门文章

  1. Unity插件
  2. (转)KlayGE游戏引擎 :高效的GBUFFER管理方式
  3. Android通过onDraw实现在View中绘图操作
  4. pytorch:EDSR 生成训练数据的方法
  5. Android 之高仿微信主界面
  6. struct&&class 空的大小
  7. Windows7下打开特定的端口
  8. http和Tcp的长连接和短连接
  9. Scala 基础(4)—— 类和对象
  10. Android中如何为自定义控件增加状态?