Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: Как да запазя source IP при mod_proxy?


  • Subject: Re: lug-bg: Как да запазя source IP при mod_proxy?
  • From: Peter Pentchev <roam@xxxxxxxxxxx>
  • Date: Tue, 7 Feb 2006 09:44:35 +0200
  • Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
  • Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx

On Tue, Feb 07, 2006 at 12:02:05AM +0200, Georgi Hristozov wrote:
> Здравейте! Имам един проблем с Apache 2, вече го обсъждахме в един 
> форум, но още не мога да намеря решение. Едната от машините е с Windows, 
> но се надявам да няма флеймове, тъй като става дума за конфигурация на 
> Apache. Както и да е, имам следната конфигурация:
> INTERNET <-> Windows box <-> Linux box
> И на двете машини имам Apache 2 (на рутера е 2.0.55, на Linux машината е 
> 2.2.0). На Windows-ката имам следната конфигурация за reverse proxy:
> 
> <VirtualHost *:80>
>      ServerAdmin webmaster@xxxxxxxxxxxx
>      ServerName daffy.zloba.ath.cx:80
>      ServerAlias daffy mdk.wtf.la mdk
>      ProxyPass / http://192.168.0.2:80/
>      ProxyPassReverse / http://192.168.0.2:80/
>      ErrorLog logs/daffy/error.log
>      CustomLog logs/daffy/access.log combined
> </VirtualHost>
> 
> ProxyRequests Off
> 
> Хубаво, всичко си се логва в logs/daffy/access.log на Windows-ката 
> машина. Но за другата машина (daffy), целият свят е с IP-то на рутера 
> пред нея. Та въпросът е как да накарам mod_proxy да изпраща в http 
> header-ите истинските IP-та на клиентите, а не това на рутера. Как ли не 
> се мъчих да ровя из документации, не съм сигурен дали не може да стане с 
> mod_rewrite, вече съвсем загубих надежда за директивите на mod_proxy.

Ако имаш предвид, че искаш да запазиш IP адреса в TCP/IP header-а, т.е.
задният уебсървър да получава TCP връзка, която да изглежда като че ли
си идва от истинския IP адрес, а не от IP адреса на рутера, това НЕ може
да бъде направено с mod_proxy.  Това, което mod_proxy прави, е просто да
накара уебсървъра върху рутера да отвори нова, съвсем нормална, съвсем
истинска TCP връзка до истинския уебсървър отзад - и тази съвсем
нормална TCP връзка си има съвсем нормален изходящ (source) IP адрес -
който, както вече си забелязал, е IP адресът на рутера :)  При това
положение единственото, което можеш да накараш mod_proxy да направи, е
да пази "истинския" оригинален IP адрес на клиента някъде из *HTTP*
header-ите, примерно с ProxyVia, и после на "истинския" уебсървър да
имаш някаква специална обработка на тези headers.

Ако искаш повече от това - ако искаш истинско запазване на оригиналния
IP адрес - единственото, което може да те спаси, е NAT :)  И... хм...
таковата... всъщност не би трябвало да бъде чак толкова сложно :)

Поздрави,
Петър

-- 
Peter Pentchev	roam@xxxxxxxxxxx    roam@xxxxxxxx    roam@xxxxxxxxxxx
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
If wishes were fishes, the antecedent of this conditional would be true.

Attachment: pgpu3h4X2QN0P.pgp
Description: PGP signature



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.