nginx的proxy_set_header
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"
}
nginx的proxy_set_header的更多相关文章
- nginx反向代理配置(nginx.conf+proxy_set_header)
转载:https://blog.csdn.net/bjsunwei/article/details/62231209 location / { proxy_pass http://test; prox ...
- 【转】nginx中proxy_set_header Host $host的作用
nginx为了实现反向代理的需求而增加了一个ngx_http_proxy_module模块.其中proxy_set_header指令就是该模块需要读取的配置文件.在这里,所有设置的值的含义和http请 ...
- nginx.conf各参数的意义
搬运+翻译至 http://qiita.com/syou007/items/3e2d410bbe65a364b603 /etc/nginx/nginx.conf 记录各个参数的意义 user user ...
- [Redmine] Centos5上安装Redmine3.0+nginx+thin部署
项目管理的需要所以安装Redmine,其实wiki放在上面也不错的. 首先是安装,ruby应用第一次装,把坑记住. nginx, mysql是已经安装好的,只需要配置, 结合nginx的部署方式很多, ...
- Nginx里Header修改
有时候,我们可能有修改Nginx默认Header的需求.本文就将常见的方法列出来供大家参考. 修改普通请求的Header Nginx内置的模块暂时仅支持修改响应头,使用add_header.其中: a ...
- NGINX 安装于配置
just a simple example, for more information -> http://nginx.org/en/docs/.1.vi /etc/yum.repos.d/ng ...
- Nginx反向代理时tomcat日志获取真实IP
对于nginx+tomcat这种架构,如果后端tomcat配置保持默认,那么tomcat的访问日志里,记录的就是前端nginx的IP地址,而不是真实的访问IP.因此,需要对nginx.tomcat做如 ...
- nginx在使用非80端口做反向代理【转】
设置nginx反向代理,nginx在使用非80端口做反向代理时,浏览器访问发现返回302错误 upstream jboss{ server max_fails= fail_timeout=20s; s ...
- NGINX负载均衡缓存配置
环境:VMware-Workstation-12-Pro,Windows-10,CentOS-7.5,Xshell5 1 概述 如果我们的架构是前端负载均衡后端WEB集群时,可以开启nginx的缓存功 ...
随机推荐
- Python全栈工程师(集合、函数)
ParisGabriel 感谢 大家的支持 你们的阅读评价就是我最好的动力 我会坚持把排版内容以及偶尔的错误做的越来越好 每天坚持 一天一篇 点个订阅吧 灰常感谢 ...
- cloud-utils
官方下载:https://launchpad.net/cloud-utils rpm包下载地址:http://rpmfind.net/linux/rpm2html/search.php?query=c ...
- CentOS 6.3下安装Vsftp,虚拟用户
CentOS 6.3下安装Vsftp,虚拟用户一.安装:1.安装Vsftpd服务相关部件:[root@linuxidc.com ~]# yum install vsftpd*Dependencies ...
- JavaWeb笔记(七)Filter&Listener
Filter 实现Filter接口 一般用于完成通用的操作,如:登陆验证.统一编码处理.敏感字符过滤等 执行流程 执行过滤器 执行放行后的资源 继续执行过滤器放行代码下的代码 配置 拦截路径配置 注解 ...
- shell中的>&1和 >&2是什么意思?
当初在shell中, 看到">&1"和">&2"始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出. 在 shell 程 ...
- [转] mysql分区性能初探
本文转自:http://www.cnblogs.com/acpp/archive/2010/08/09/1795464.html 一, 分区概念 分区允许根据指定的规则,跨文件系统分配单个 ...
- quagga源码学习--BGP协议中的routemap
路由策略的基础知识 定义 路由策略(Routing Policy)作用于路由,主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径. 目的 路由器在发布. ...
- c++ 2.1 编译器何时创建默认构造函数
我们通常会说当生命一个 class 时,如果我们不为该 class 指定一个 constructor,那么编译器会替我们实现一个 connstructor,那么这种说法一定对吗? 事实上,这是不对的. ...
- [洛谷P4925][1007]Scarlet的字符串不可能这么可爱
题目大意:问字符集大小为$k$,长度为$L$的字符串,且没有长度超过$1$的回文段的个数.规定第$s(若为0则无限制)$位为$w$. 题解:懒得写了,根据是否有限制分类讨论 卡点:中途有个地方忘记取模 ...
- Ubuntu扩展系统盘容量,虚拟机下
安装gparted软件 sudo apt-get install gparted 接下来, 我们开始用Gparted软件扩展Ubuntu目录的容量: 先看操作步骤: 1. 先从windows的 ntf ...