Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
proxy_set_header用来设定被代理服务器接收到的header信息。
语法:proxy_set_header field value; field :为要更改的项目,也可以理解为变量的名字,比如host value :为变量的值
如果不设置proxy_set_header,则默认host的值为proxy_pass后面跟的那个域名或者IP(一般写IP)
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
用来设置被代理端接收到的远程客户端IP,如果不设置,则header信息中并不会透传远程真实客户端的IP地址。
配置示例:
server {
listen 80;
server_name www.xxx.com;
location /aming/
{
proxy_pass http://192.168.1.10:8080/linux/;
proxy_set_header host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这段配置也是一般情况下,反向代理的标准配置。
tips: 如果想要得知请求的http协议,需将协议转发过来,添加配置如下:
proxy_set_header X-Forwarded-Proto $scheme;