Nginx代理常用参数
目录
一:Nginx代理常用参数
1.添加发往后端服务器的请求头信息
# 用户请求的时候HOST的值是game.test.com, 那么代理服务会像后端传递请求的还是game.test.com
proxy_set_header Host $http_host;
# 将$remote_addr的值放进变量X-Real-IP中,$remote_addr的值为客户端的ip
(没代理情况下记录客户端ip)
proxy_set_header X-Real-IP $remote_addr;
# 客户端通过代理服务访问后端服务, 后端服务通过该变量会记录真实客户端地址
(有代理情况下记录客户端ip)
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
二:参数案例
1.lb01配置文件
用户请求的时候HOST的值是www.game.com, 那么代理服务会像后端传递请求的还www.game.com
proxy_set_header Host $http_host;
[root@lb01 conf.d]# vim /etc/nginx/conf.d/game.conf
2.web01 web02 web服务器
进入nginx全局配置模块增加
vim /etc/nginx/nginx.conf
$http_host
3.测试
nginx -t
4.重启
systemctl restart nginx
5.DNS域名解析
6.网址测试
www.game.com
7.日志监控查询结果
用户请求的时候HOST的值是game.test.com, 那么代理服务会像后端传递请求的还www.game.com
携带域名
[root@web01 conf.d]# tail -f /var/log/nginx/access.log
三:lb01服务器(增加模块)
将$remote_addr的值放进变量X-Real-IP中,$remote_addr的值为客户端的ip
(没代理情况下记录客户端ip)
proxy_set_header X-Real-IP $remote_addr;
客户端通过代理服务访问后端服务, 后端服务通过该变量会记录真实客户端地址
(有代理情况下记录客户端ip)
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
1.修改负载均衡配置文件
[root@1b01 ~]# vim /etc/nginx/conf.d/game.conf
2.测试
nginx -t
3.重启
[root@1b01 ~]# systemctl restart nginx
4.web服务器
[root@web01 ~]# tail -f /var/log/nginx/access.log
四:代理到后端的TCP连接、响应、返回等超时时间
- 模块
#nginx代理与后端服务器连接超时时间(代理连接超时)
Syntax: proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: http, server, location
#nginx代理等待后端服务器的响应时间(后端服务器返回的数据叫响应)
Syntax: proxy_read_timeout time;
Default: proxy_read_timeout 60s;
Context: http, server, location
#后端服务器数据回传给nginx代理超时时间
Syntax: proxy_send_timeout time;
Default: proxy_send_timeout 60s;
Context: http, server, location
1.模块应用
* 代理到后端的TCP连接、响应、返回等超时时间
(代理与后端服务器连接时间)
proxy_connect_timeout 1s;
(后端服务器返回代理数据响应时间)
proxy_read_timeout 3s;
(后端服务器数据回传给nginx代理时间)
proxy_send_timeout 3s;
2.lb01服务器
配置文件
[root@lb01 conf.d]# vim /etc/nginx/conf.d/game.conf