On Thu, 2005-06-23 at 20:17 +0200, ago@lsc.hu wrote:
szia,
Pontositok, mert asszem eleg nagy butasagot kerdeztem... :( nem kérdeztél butaságot. Amit leírsz egy élő dolog.
Szoval adott 1 fw ahol a Zorp csucsul, mogotte n darab webszerver. A szerverek mas-mas domaineket szolgalnak ki. A megoldás nem az amit leírsz, hanem az, hogy vagy a tűzfal /etc/hosts fileban legyen benne az a belső címe a www.domain1.hu stb. gépeknek és akkor a zorp a névfeloldás alapján tudja majd, hogy merre irányítsa a csomagot. Sima HTTP-val működik, mindenfajta különösebb varázslat nélkül (bár egy ideje már csak copyzom az ilyen beállításokat, egyszer kell vele "megszenvedni"). "Gond" ott lesz, ha HTTPS-t is akarsz, azt is meg lehet oldani, de akkor egymás mellék kell stackelni a proxykat, a SideStackChainer-rel. A listaarchívumban volt már bőven hivatkozás rá.
hanem DNS alapjan visszaadott IP-t hasznalja? na most ,ez alapján van DNS. Akkor viszont nem privát címeken vannak a webszerverek? Teszem azt a .129-es gép a tűzfal, ami routerként funciónál a .130,.131 astb. végű gépek előtt? Vagy egy belső DNS-ed van? Mert akkor a resolv.conf-ban kellene elsődleges névkiszolgálónak azt beállítanod. Vagy a fentebb említett /etc/hosts fájl is megoldás, ha kevés szerver van. 100%-ig korrekt persze a DNS.
3.0.5-ben mar van un. Resolver interface, bar meg csak experimental jelleggel, valoszinuleg 3.1-ben egy csoppet valtozni fog. Annak az a lenyege, hogy egy fuggetlen objektum oldja fel a celcimet, ami alapbol DNS, de akar sajat modszerrel is megoldhatja a nev->IP lekepezest. Pl: mostanival kompatibilis mukodes: Service("http", HttpProxy, router=InbandRouter(), resolver=DNSResolver()) kicsit erdekesebb: class HashResolver(AbstractResolver): def __init__(self, host_map): AbstractResolver.__init__(self) self.host_map = host_map def resolve(self, host, port): if self.host_map.has_key(host): return SockAddrInet(self.host_map[host], port) return None Ezek utan: Service("http", HttpProxy, router=InbandRouter(), resolver=HashResolver({'www.alma.hu': '1.2.3.4', 'www.korte.hu': '4.5.6.7'})) Ami varhato 3.1-ben az az, hogy a Resolver-bol is "policy" lesz, mint a NATPolicy vagy az AuthPolicy, azaz nevvel letrehozott objektum lesz, amire a Service-nel mar csak hivatkozni kell, azaz kb igy: ResolverPolicy('web', HashResolver({'www.alma.hu': '1.2.3.4', 'www.korte.hu': '4.5.6.7'}) Service("http", HttpProxy, router=InbandRouter(), resolver_policy='web') Igy tobb service-bol lehet majd egyszeruen ugyanarra hivatkozni. -- Bazsi