28.02.2019 19:20, Igor Savenko пишет: > Доброе время суток! > Подскажите, есть ли вообще способ определить, на какой именно адрес был > послан запрос (хост имеет несколько интерфейсов с разными адресами или > несколько secondary адресов на одном интерфейсе), чтобы спроксировать > этот запрос на корректный адрес upstream. который тоже слушает на localhost. > Схема проста: > server { > listen *:80; > server_name _; > location / { > proxy_pass http://$server_addr; > } > } > > При этом у хоста 2 адреса на интерфейсах, скажем, 1.2.3.4 и 5.6.7.8. > Хотелось бы, чтобы при запросе на 5.6.7.8 в $server_addrбыл не 1.2.3.4 > (как первый и дефолтный адрес, а 5.6.7.8). Если можно это решить > программно (в каком-нибудь модуле, то подскажите, пожалуйста. Спасибо!
Про правильный server_addr не понял, а сейчас что не так? > # ifconfig lo0 > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 > options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> > inet6 ::1 prefixlen 128 > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 > inet 127.0.0.1 netmask 0xff000000 > inet 192.168.255.1 netmask 0xffffffff > inet 192.168.255.2 netmask 0xffffffff > inet 192.168.255.3 netmask 0xffffffff > inet 192.168.255.4 netmask 0xffffffff > inet 192.168.255.5 netmask 0xffffffff > nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> > groups: lo > # cat localhost.conf > server { > listen 80; > > location / { return 200 "$server_addr\n"; } > } > # for h in 2 3 4; do curl 192.168.255.$h; done > 192.168.255.2 > 192.168.255.3 > 192.168.255.4 > > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru