要确保请求在一次会话中被转发到相同的后端服务器上,可以使用 Nginx 的 ip_hash
或 sticky
模块来实现。
- ip_hash 模块:
ip_hash
模块使用客户端 IP 地址作为哈希键,将同一 IP 地址的请求始终转发到相同的后端服务器。- 要启用
ip_hash
模块,只需在 Nginx 配置文件的http
块或upstream
块中添加ip_hash
指令即可。
http {
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
}
server {
...
location / {
proxy_pass http://backend;
}
}
}
- sticky 模块:
- 如果使用第三方模块 ngx_http_upstream_sticky_module(也称为
ngx_http_upstream_cookie_module
),则可以通过设置特定的会话标识符来实现会话粘滞。 - 需要在 Nginx 配置文件的
http
块中添加sticky
指令并设置会话标识符的名称和过期时间。
- 如果使用第三方模块 ngx_http_upstream_sticky_module(也称为
http {
upstream backend {
sticky cookie srv_id expires=1h domain=.example.com path=/;
server backend1.example.com;
server backend2.example.com;
}
server {
...
location / {
proxy_pass http://backend;
}
}
}
TRANSLATE with x
English
TRANSLATE with
COPY THE URL BELOW
Back
EMBED THE SNIPPET BELOW IN YOUR SITE
Enable collaborative features and customize widget: Bing Webmaster Portal
Back
标签:hash,ip,sticky,Nginx,http,server,com
From: https://www.cnblogs.com/gaoyuechen/p/18064456