URI の一部をアップストリーム ハッシュ キーとして使用したい場合、設定は次のようになります。
map $uri $dir {
~^/(.*?)/ $1;
}
upstream backServer {
server 172.10.27.223:80;
server 172.10.27.161:80;
hash $dir consistent;
}
server {
listen 80;
location / {
proxy_pass http://backServer;
}
}
しかし、これは効果がなく、リクエストはURIに関係なく最初のサーバーにのみ送信されます。また、次のようなハッシュも試します。ハッシュ$dirの一貫性、その設定は有効です。
nignx をどのように設定すればよいですか?
答え1
これは動作するので、設定にいくつかのエラーがある可能性があります:
map $uri $hashtest {
"~^(.*)/" "$1";
}
upstream nodeServers {
server 192.168.1.3:8888;
server 192.168.1.3:8889;
hash $hashtest consistent;
}
server {
...
location /xyz/ {
proxy_pass http://nodeServers/;
...
}
...
}