nginx ip_hash 负载均衡问题

nginx配置如下:
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

# 定义负载均衡服务器列表
upstream svr_balance{
    ip_hash; #均衡规则为 根据客户端ip地址的哈希值来分配
    server 192.168.78.177;
    server 202.202.202.167;
}

server {
    # 虚拟服务器  http://192.168.78.177:8081
    listen       8081;
    server_name  localhost;

    location / {
        root   /usr/local/nginx/html/;          #网站根目录
        index index.php index.html index.htm;   #定义首页索引文件的名称
    }

    # 定义 http://192.168.78.177:8081/AlienWi/ 访问规则
    location /AlienWi/{
        proxy_pass http://svr_balance/AlienWi/;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

}

不同的客户端(ip地址同一网段,不同网段都有测试)访问http://192.168.78.178:8081/AlienWi/ 为什么总是访问到202.202.202.167, 而没有访问到192.168.78.177呢

Tomkey_Q
Tomkey_Q 请问大神后续如何解决,我也遇到一样的问题
8 个月之前 回复

2个回答

server 192.168.78.177;对于其它网段的用户不可用吧

shu_liny
shu_liny 可用,如果我把192.168.78.177放在202.202.202.167下面,访问的就是192.168.78.177,搞不懂这是怎么回事
5 年多之前 回复

难道ip都这么巧hash到同一个上面去了?

shu_liny
shu_liny 还是不行啊,你测试ip_hash是可以的?
5 年多之前 回复
oyljerry
oyljerry 回复shu_liny: proxy_pass http://svr_balance/ 这么呢?
5 年多之前 回复
shu_liny
shu_liny 回复oyljerry:现在就是永远只能访问到一台
5 年多之前 回复
oyljerry
oyljerry 回复shu_liny: 是不是ip权重不一样,因为你调整顺序就可以。还是说永远只能访问一台。
5 年多之前 回复
shu_liny
shu_liny 应该没有这么巧,你看我的配置有没有什么问题
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问