<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Хм. ИнтереÑно получаетÑÑ.<div>ИнтерфейÑÑ‹ на хоÑте (поÑкольку Ñто, видимо, KVM guest, то вÑе они, наверное, выÑтавлены в один бридж, но Ñто не имеет Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ðº делу):<br><div>[root@blissstagingserver1 imunify360-webshield]# ip -o -4 ad | grep eth</div><div><font face="monospace, monospace">2: eth0   inet <a href="http://10.0.0.143/26">10.0.0.143/26</a> brd 10.0.0.191 scope global eth0\    valid_lft forever preferred_lft forever</font></div><div><font face="monospace, monospace">3: eth1   inet <a href="http://10.0.0.146/26">10.0.0.146/26</a> brd 10.0.0.191 scope global eth1\    valid_lft forever preferred_lft forever</font></div><div><font face="monospace, monospace">4: eth2   inet <a href="http://10.0.0.147/26">10.0.0.147/26</a> brd 10.0.0.191 scope global eth2\    valid_lft forever preferred_lft forever</font></div></div><div><br></div><div><div><font face="monospace, monospace">  server {</font></div><div><font face="monospace, monospace">    listen *:80;</font></div><div><div><font face="monospace, monospace">    location / {</font></div><div><font face="monospace, monospace">      proxy_set_header   X-Server-IP $server_addr;</font></div><div><font face="monospace, monospace">      proxy_pass      $scheme://$server_addr;</font></div><div><font face="monospace, monospace">    }</font></div></div><div><font face="monospace, monospace">  }</font></div></div><div><br></div><div>БекÑндом выÑтупает питоновÑкий http.server, который проÑто выводит в конÑоль заголовки Host и X-Server-IP</div><div><br></div><div><div><font face="monospace, monospace">$ curl -L -v <a href="http://10.0.0.146">http://10.0.0.146</a></font></div><div><font face="monospace, monospace">* Rebuilt URL to: <a href="http://10.0.0.146/">http://10.0.0.146/</a></font></div><div><font face="monospace, monospace">*  Trying 10.0.0.146...</font></div><div><font face="monospace, monospace">* TCP_NODELAY set</font></div><div><font face="monospace, monospace">* Connected to 10.0.0.146 (10.0.0.146) port 80 (#0)</font></div><div><font face="monospace, monospace">> GET / HTTP/1.1</font></div><div><font face="monospace, monospace">> Host: 10.0.0.146</font></div><div><font face="monospace, monospace">> User-Agent: curl/7.52.1</font></div><div><font face="monospace, monospace">> Accept: */*</font></div><div><font face="monospace, monospace">> </font></div><div><font face="monospace, monospace">< HTTP/1.1 200 OK</font></div></div><div><br></div><div>Ðа Ñто питоновÑкий Ñервер пишет<br><font face="monospace, monospace">Host: 10.0.0.146, IP: 10.0.0.143</font><br></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">То еÑÑ‚ÑŒ $server_addr -- 10.0.0.143, a не 146, как ожидалоÑÑŒ...</font></div><div><br></div><div>То еÑÑ‚ÑŒ в $server_add</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 28 февр. 2019 г. в 18:37, Fedor Dikarev <<a href="mailto:fe@hamilton.rinet.ru">fe@hamilton.rinet.ru</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
28.02.2019 19:20, Igor Savenko пишет:<br>
> Доброе Ð²Ñ€ÐµÐ¼Ñ Ñуток!<br>
> ПодÑкажите, еÑÑ‚ÑŒ ли вообще ÑпоÑоб определить, на какой именно Ð°Ð´Ñ€ÐµÑ Ð±Ñ‹Ð»<br>
> поÑлан Ð·Ð°Ð¿Ñ€Ð¾Ñ (хоÑÑ‚ имеет неÑколько интерфейÑов Ñ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸ адреÑами или<br>
> неÑколько secondary адреÑов на одном интерфейÑе), чтобы ÑпрокÑировать<br>
> Ñтот Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° корректный Ð°Ð´Ñ€ÐµÑ upstream. который тоже Ñлушает на localhost.<br>
> Схема проÑта:<br>
> server {<br>
> Â Â listen *:80;<br>
> Â Â server_name _;<br>
> Â Â location / {<br>
> Â Â Â Â proxy_pass http://$server_addr;<br>
> Â Â }<br>
> }<br>
> <br>
> При Ñтом у хоÑта 2 адреÑа на интерфейÑах, Ñкажем, 1.2.3.4 и 5.6.7.8.<br>
> ХотелоÑÑŒ бы, чтобы при запроÑе на 5.6.7.8 в $server_addrбыл не 1.2.3.4<br>
> (как первый и дефолтный адреÑ, а 5.6.7.8). ЕÑли можно Ñто решить<br>
> программно (в каком-нибудь модуле, то подÑкажите, пожалуйÑта. СпаÑибо!<br>
<br>
Про правильный server_addr не понÑл, а ÑÐµÐ¹Ñ‡Ð°Ñ Ñ‡Ñ‚Ð¾ не так?<br>
> # ifconfig lo0<br>
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384<br>
>Â Â Â Â Â options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6><br>
>Â Â Â Â Â inet6 ::1 prefixlen 128<br>
>Â Â Â Â Â inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3<br>
>Â Â Â Â Â inet 127.0.0.1 netmask 0xff000000<br>
>Â Â Â Â Â inet 192.168.255.1 netmask 0xffffffff<br>
>Â Â Â Â Â inet 192.168.255.2 netmask 0xffffffff<br>
>Â Â Â Â Â inet 192.168.255.3 netmask 0xffffffff<br>
>Â Â Â Â Â inet 192.168.255.4 netmask 0xffffffff<br>
>Â Â Â Â Â inet 192.168.255.5 netmask 0xffffffff<br>
>Â Â Â Â Â nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL><br>
>Â Â Â Â Â groups: lo<br>
<br>
> # cat localhost.conf<br>
> server {<br>
>Â Â Â Â Â listen 80;<br>
> <br>
>Â Â Â Â Â location / { return 200 "$server_addr\n"; }<br>
> }<br>
<br>
> # for h in 2 3 4; do curl 192.168.255.$h; done<br>
> 192.168.255.2<br>
> 192.168.255.3<br>
> 192.168.255.4<br>
<br>
<br>
> <br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
> <br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>