[zorp-hu] Virtualhostok kezelese - megoldodott

SZALAY Attila zorp-hu@lists.balabit.hu
Tue, 5 Aug 2003 16:05:35 +0200


Hi!


On 2003 Aug 05, Hegedüs Ervin wrote:
> 
> class MyHTTP(HttpProxy):
>         def config(self):
>                 HttpProxy.config(self)
> 
> 		self.request["GET"] = (HTTP_REQ_POLICY, self.filterURL)

Mivel alapbol a zorp ugyis elhajtja azokat a kereseket, ahol nincs Host
header, ezert en inkabb arra tennem a hook-ot.

Egyebirant pedig vigyazzal, a python _nagyon_ kenyes az indentalasra, ne
keverd a space-t es a tabokat!

[...]
> 
>         def filterURL(self, method, url, version):
> 		if (url[0:21] == "http://www1.domain.hu"):

Ehelyett en inkabb a self.request_url-t neznem. Az ugyanis csak a host-ot
tartalmazza eleve.

>                         self.session.server_address = SockAddrInet("172.16.226.252", 80)
>                         self.session.local_addr = SockAddrInet(self.session.client_address.ip_s, 0)
>                         return HTTP_REQ_ACCEPT

A self.local_addr helyett, inkabb az InbandRouter-nek kellene
forge_addr=TRUE parametert adni.

[...]
> 
> def zorp_http():
>         Service("directplug", MyHTTP, router = InbandRouter())
>         Listener(SockAddrInet("10.0.0.4", 80), "directplug")


De mindettol fuggetlenul szerintem mukodnie kellene, ha a belso hostoknak a
nevet ip cimmel egyutt felvenned a /etc/hosts-ba.

Ekkor normal HttpProxy-val is mukodne, nem kellene sajat proxy osztaly.

-- 
Szalay Attila                     BalaBit IT Biztonságtechnikai Kft.
tel:(36-1)-371-05-40              1116 Bp. Csurgoi ut 20/b
fax:(36-1)-208-08-75              http://www.balabit.hu/