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 [EMAIL PROTECTED]
>      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  [EMAIL PROTECTED]    [EMAIL PROTECTED]    [EMAIL PROTECTED]
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: pgpE1193s2NKM.pgp
Description: PGP signature

Reply via email to