[zorp-hu] Virtualhostok kezelese - megoldodott

Hegedüs Ervin zorp-hu@lists.balabit.hu
Tue, 5 Aug 2003 15:43:24 +0200


Hello,

sikerult megoldani a fenti problemat, az lenne a keresem, hogy
valaki hozzaerto pls nezze at a konfigot, ez a megoldas vajon
mennyire "szep", jo uton jarok-e, vagy valamit nem lattam meg.

ime az alosztaly, ezt hasznalom a Service-ben:

class MyHTTP(HttpProxy):
        def config(self):
                HttpProxy.config(self)

		self.request["GET"] = (HTTP_REQ_POLICY, self.filterURL)
                self.session.server_address = SockAddrInet("127.0.0.1", 80)

        def setServerAddress(self, host, port):
               pass

        def filterURL(self, method, url, version):
		if (url[0:21] == "http://www1.domain.hu"):
                        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
                elif (url[0:21] == "http://www2.domain.hu"):
			self.session.server_address = SockAddrInet("172.16.226.11", 80) 
                        self.session.local_addr = SockAddrInet(self.session.client_address.ip_s, 0)
                        return HTTP_REQ_ACCEPT
                return HTTP_REQ_REJECT

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



A self.session.local_addr = SockAddrInet...-el az lett volna
a celom, hogy a szerver az kero eredeti cimet lassa, de ez sajnos
nem mukodik. :( (esetleg erre ha valaki tud valami megoldast
InbandRouter eseten) Ez leginkabb az webalizernek lenne jo... :)


Koszonom, udv:
airween


-- 
Minden baj forrása az 1/x függvény.