Welcome! Log In Create A New Profile

Advanced

nginx балансировка

March 25, 2015 08:41AM
Добрый день.
Есть задача: запрос идет на сервер, где nginx балансирует в зависимости от ip адреса. Если ip адрес из списка, то запрос идет дальше на сервер1, если нет то запрос идет дальше на один из серверов(сервер2,сервер3), которые между собой балансируются. Как бы это реализовать, друзья?

## one backend ##
upstream apachereadonly {
server 10.10.11.10:443;
server 10.10.11.11:443;
ip_hash;
}
## two backend ##
upstream apachereadwrite {
server 10.10.11.12:443;

}

## config ##
location / {
proxy_set_header Accept-Encoding "";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-By $server_addr:$server_port;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
## default backend
proxy_pass https://serverone.com;
## send traffic to TWO backend if ip is 1.2.3.4 ##
if ( $remote_addr ~* 1.2.3.4 ) {
proxy_pass https://servertwo.com;
}
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
}

Как вместо 1.2.3.4 указать пул адресов?
Правильно ли выглядит конфиг, и то что я хочу получить будет работать по такой схеме?
Удобнее ли вместо Ip_hash использовать sticky module ?
Subject Author Posted

nginx балансировка

oamakarov March 25, 2015 08:41AM

Re: nginx балансировка

oamakarov March 25, 2015 09:15AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 134
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready