Welcome! Log In Create A New Profile

Advanced

Re: local IP address

Igor Savenko
February 28, 2019 01:36PM
Хм. Интересно получается.
Интерфейсы на хосте (поскольку это, видимо, KVM guest, то все они,
наверное, выставлены в один бридж, но это не имеет отношения к делу):
[root@blissstagingserver1 imunify360-webshield]# ip -o -4 ad | grep eth
2: eth0 inet 10.0.0.143/26 brd 10.0.0.191 scope global eth0\
valid_lft forever preferred_lft forever
3: eth1 inet 10.0.0.146/26 brd 10.0.0.191 scope global eth1\
valid_lft forever preferred_lft forever
4: eth2 inet 10.0.0.147/26 brd 10.0.0.191 scope global eth2\
valid_lft forever preferred_lft forever

server {
listen *:80;
location / {
proxy_set_header X-Server-IP $server_addr;
proxy_pass $scheme://$server_addr;
}
}

Бекэндом выступает питоновский http.server, который просто выводит в
консоль заголовки Host и X-Server-IP

$ curl -L -v http://10.0.0.146
* Rebuilt URL to: http://10.0.0.146/
* Trying 10.0.0.146...
* TCP_NODELAY set
* Connected to 10.0.0.146 (10.0.0.146) port 80 (#0)
> GET / HTTP/1.1
> Host: 10.0.0.146
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 200 OK

На это питоновский сервер пишет
Host: 10.0.0.146, IP: 10.0.0.143

То есть $server_addr -- 10.0.0.143, a не 146, как ожидалось...

То есть в $server_add

чт, 28 февр. 2019 г. в 18:37, Fedor Dikarev <fe@hamilton.rinet.ru>:

>
> 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
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

local IP address

Igor Savenko February 28, 2019 11:22AM

Re: local IP address

Fedor Dikarev February 28, 2019 11:38AM

Re: local IP address

Igor Savenko February 28, 2019 01:36PM

Re: local IP address

Fedor Dikarev February 28, 2019 03:02PM

Re: local IP address

Igor Savenko February 28, 2019 03:10PM

Re: local IP address

Fedor Dikarev February 28, 2019 03:12PM

Re: local IP address

Igor Savenko February 28, 2019 03:18PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 184
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