nginx

Linux_331_Nginx负载均衡之转发头部信息

2022-12-10  本文已影响0人  为宇绸缪

准备进行负载均衡测试
环境准备 三台linux,且保证2台节点服务器,多域名的虚拟主机配置正常
配置lb01机器,进行负载均衡的转发操作
负载均衡机器 lb01 192.168.178.123
节点服务器1 web01 192.168.178.125
节点服务器2 web02 192.168.178.126

1、修改lb01的nginx.conf,添加负载均衡池,以及对请求转发的虚拟主机
反向代理的虚拟主机配置
添加修改如下代码

upstream my_web{
        server 192.168.178.125;
        server 192.168.178.126;
    }
    server {
        listen       80;
        server_name  lb.yu.com;
        location / {
            proxy_pass http://my_web;
        }
    }

2、添加主机名的解析关系,以及启动nginx负载均衡服务器
修改/etc/hosts文件,添加代码
192.168.178.123 lb.yu.com

3、访问nginx的负载均衡器,查看请求分发
curl lb.yu.com
轮询的访问,但都是访问mp3的站点
如果想访问game

4、配置基于多域名的负载均衡请求分发
修改lb负载均衡机器的hosts文件,添加两个多域名
修改/etc/hosts文件
192.168.178.123 lb.yu.com
192.168.178.123 mp3.yu.com
192.168.178.123 game.yu.com

5、重点就在于需要在nginx转发请求的时候,添加头部信息,配置修改如下
修改lb01的配置文件

server {
        listen       80;
        server_name  lb.yu.com;
        location / {
            proxy_pass http://my_web;
            proxy_set_header Host $host;
        }
    }

proxy_set_header Host $host; 会带着请求的头部主机名字转发给机器

6、重新加载nginx的服务,查看nginx的效果
[root@lb01 conf]# curl mp3.yu.com
mp3.yu.com web01
[root@lb01 conf]# curl mp3.yu.com
mp3.yu.com web02
[root@lb01 conf]# curl mp3.yu.com
mp3.yu.com web01
[root@lb01 conf]# curl mp3.yu.com
mp3.yu.com web02
[root@lb01 conf]# curl game.yu.com
game.yu.com web01
[root@lb01 conf]# curl game.yu.com
game.yu.com web02
[root@lb01 conf]# curl game.yu.com
game.yu.com web01
[root@lb01 conf]# curl game.yu.com
game.yu.com web02

上一篇下一篇

猜你喜欢

热点阅读