Table des matières
1. configuration du proxy nginx
## 定义一个集群,名称叫做load_balancer_test
upstream load_balancer_test {
#ip_hash是负载均衡策略
#ip_hash;
#集群下有两个服务
server 192.168.1.233:8087;
server 192.168.1.243:8087;
}
server {
#监听8600端口
listen 8600;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
## 访问地址匹配策略
location ~* /LOAD_BALANCER/* {
#当访问地址满足匹配策略时,代理到load_balancer_test集群
proxy_pass http://load_balancer_test;
# WebScoket Support相关配置,可以代理websocket链接
proxy_http_version 1.1;
# webscoekt超时时间,如果没有做心跳之类的动作需要配置,否则websocket会反复断开重连
proxy_read_timeout 700s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Origin "",可以解决websocket链接失败的问题
proxy_set_header Origin "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
break;
}
}
2. ip_hash
ip_hash est l'adresse IP demandée par l'utilisateur, puis mappée dans une valeur de hachage, puis attribuée à un serveur spécifique ;
Après avoir utilisé l'équilibrage de charge comme ip_hash, il peut être assuré que la session de chaque utilisateur ne sera envoyée qu'au même Tomcat spécifique et que sa session ne sera pas transmise à d'autres Tomcat ;
Chaque requête est allouée en fonction du résultat de hachage de l'adresse IP d'accès, de sorte que chaque visiteur dispose d'un accès fixe à un serveur back-end, ce qui peut résoudre le problème de session.