Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-11-22 13:40:26

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Uzyskiwanie adresów ip klienta po przekierowaniu

Witam,

Mam 3 serwery na główny przychodzą zapytania , a on przekierowuje je na serwer 2 lub 3.
W logach serwerów mam już IP serwera 1 a nie klienta?
Serwerki są na nginx z obsługą php. Serwer 1 działa jako load balancing.
Czy można tak zrobić by do serwera 2 i 3 docierały oryginalne IP ?

Dzięki za info


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#2  2013-11-22 14:11:34

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Uzyskiwanie adresów ip klienta po przekierowaniu

A nie możesz na pierwszym serwerze zbierać zapytań dotyczących http czy kierowanych na dany serwer  ?

Ostatnio edytowany przez ba10 (2013-11-22 14:12:08)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#3  2013-11-22 14:14:28

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Uzyskiwanie adresów ip klienta po przekierowaniu

mi to tam w ogóle nie przeszkadza, ale programista chyba sobie nie radzi i dlatego szef mi tyłek zawraca:)
Myślałem, że może jakiś myk jest , który gdzieś mi umkną w konfiguracji nginx


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#4  2013-11-22 14:18:02

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Uzyskiwanie adresów ip klienta po przekierowaniu

Ja myślę, że to nie jest sprawa nginx, a raczej routingu, NATu czy jak tam masz sieć rozwiązaną.


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#5  2013-11-22 14:22:51

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Uzyskiwanie adresów ip klienta po przekierowaniu

można na maszynach 2 i 3 w nginx wpisujemy

Kod:

set_real_ip_from   127.0.0.1; #Adres IP LOAD BALANCERA
real_ip_header      X-Forwarded-For;

Działa aż miło

Ostatnio edytowany przez redelek (2013-11-22 14:25:54)


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#6  2013-11-22 14:28:21

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Uzyskiwanie adresów ip klienta po przekierowaniu

He he fajnie się czegoś nowego dowiedzieć, dzięki :)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#7  2013-11-22 14:29:08

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Uzyskiwanie adresów ip klienta po przekierowaniu

Ten pierwszy serwer przekazuje zapytania  przez mod_proxy?

Jeśli tak, to masz możliwość ustawienia odpowiednich nagłówków, o ile nie śmigają domyślnie.

przykład:

Kod:

server {
    listen 80;
    server_name your.hostname.tld
    root /your/root/
    location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Forwarded-Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:8080;
    }   
}

Ustaw takie nagłówki, a potem przez np phpinfo sprawdź, czy widać je na serwerach 2 i 3.
Któryś powinien zaskoczyć jak trzeba.

A jak programista nie poradzi sobie z takimi nagłówkami, to daj ogłoszenie o pracy dla programisty. :D

Sznurki:
http://wiki.nginx.org/HttpProxyModule
http://advent.perldancer.org/2012/3

Ostatnio edytowany przez Jacekalex (2013-11-22 14:30:24)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2013-11-22 14:36:28

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Uzyskiwanie adresów ip klienta po przekierowaniu

@Jacekalex
Tak miałem ustawione jak podałes na serwerku 1 , ale w logach serwerów 2,3 jest wszystko oprócz  ip klientów :( Ale to co napisałem pomogło i teraz działa niech dalej dłubie :)))


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#9  2013-11-22 14:49:29

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Uzyskiwanie adresów ip klienta po przekierowaniu

Nie w logach, żeby w logach były takie zmienne, to musisz osobno ustawić w konfiguracji logowania.
Każdy taki nagłówek możesz odczytać dowolnym skryptem php czy cgi na serwerze.

Jak potrzebujesz w logach, to chyba będzie zmienna [b]$http_referer[/b].

Sznurek:
http://wiki.nginx.org/HttpLogModule


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.011 seconds, 13 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00008 SET NAMES latin2
0.00110 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.21.159.223' WHERE u.id=1
0.00097 UPDATE punbb_online SET logged=1732855113 WHERE ident='3.21.159.223'
0.00052 SELECT * FROM punbb_online WHERE logged<1732854813
0.00095 DELETE FROM punbb_online WHERE ident='18.227.49.73'
0.00094 DELETE FROM punbb_online WHERE ident='3.141.201.95'
0.00069 SELECT topic_id FROM punbb_posts WHERE id=246414
0.00056 SELECT id FROM punbb_posts WHERE topic_id=24665 ORDER BY posted
0.00062 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24665 AND t.moved_to IS NULL
0.00012 SELECT search_for, replace_with FROM punbb_censoring
0.00120 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24665 ORDER BY p.id LIMIT 0,25
0.00111 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24665
Total query time: 0.00895 s