Szia! overrideable jó helyen van, ellenben a debugban ez a hiba: TypeError: 'tuple' object does not support item assignment#012 Ha jól olvastam utána, akkor nem engedi felülírni a hash elemét. Mindent köszi! U.I.: Sajnos nem értek a python nyelvezetéhet, de már szokom :) Nagyüzemben nyomozok, miért nem írhatom felül.
Szia,
a 3.3-ban változott a session struktúrája, már nincs server_address, hanem egy target_address hash van, ami tartalmazza az összes beállított (pl. FailoverChainerhez kellő) célcímet. A lenti javításokkal már mennie kéne. Az overrideable attribútum helyével kapcsolatban nem vagyok 100%-ig biztos, de szólni fog a Zorp, ha nem jó helyre tettem. Ez az a paraméter, ami azt szabályozza, hogy a proxy osztály módosíthatja-e a routerben beállított célcímet.
Doksit erre találsz, ami bár Pro-hoz van az egyetlen különbség most már a proxyk számossága: http://www.balabit.com/support/documentation/documents/zorp-3.3fr1-guides/zo...
Balint
class IntraHttp(HttpProxy): def config(self): HttpProxy.config(self) self.transparent_mode = TRUE self.request_header["Host"] = (HTTP_HDR_POLICY, self.TargetByHostHeader)
def TargetByHostHeader(self, name, value): if(value == 'site1.loc'): self.session.target_address[0] = SockAddrInet("127.0.0.1" , 50081) return HTTP_HDR_ACCEPT else: self.session.target_address[0] = SockAddrInet("127.0.0.1" , 50080) return HTTP_HDR_ACCEPT
def zorp_http(): Service("intra_http", IntraHttp, router=DirectedRouter(dest_addr=(SockAddrInet("127.0.0.1", 50080),), overrideable=TRUE) Listener(SockAddrInet("10.20.2.160", 80), "intra_http")