[zorp-hu] WebDAV =?iso-8859-2?q?m=E1s?= =?iso-8859-2?q?=20c=EDmre?=

=?iso-8859-2?q?Czak=F3=20Kriszti=E1n?= slapic@linux.co.hu
Tue, 12 Nov 2002 00:58:29 +0100


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Nagyjából összejött, amit az lmekonfon beszéltünk, azaz:
- - 1 IP-n sok virtualhost (standard apache namevirtualhost-ok)
- - https
- - WebDAv úgy, hogy a DAV kéréseket más címre küldjük, mint a normál https 
kéréseket

Eygetlen mellékhatása van (kérdezze meg kezelőorvosát, gyógyszerészét:), hogy 
WebDAV kérés után a következő bárhonnan jövő kérést is a webdavos szervernek 
küld. De csak az elsőt, azaz ha az ilyenkor jövő authentikációs kérésre 
mégsemet mondok, bejön a kért lap.

A megoldás annyira pofonegyszerű, hogy az már fáj :)

A HttpProxy-ból származtaott osztályunkba ez kell:
self.session.service.dnat=""
self.request["OPTIONS"]  = (HTTP_REQ_POLICY, self.filterDAV)
self.request["PROPFIND"]  = (HTTP_REQ_POLICY, self.filterDAV)
self.request["PUT"]  = (HTTP_REQ_POLICY, self.filterDAV)
self.request["DELETE"]  = (HTTP_REQ_POLICY, self.filterDAV)
self.request["MKCOL"]  = (HTTP_REQ_POLICY, self.filterDAV)
self.request["PROPPATCH"]  = (HTTP_REQ_POLICY, self.filterDAV)
self.request["COPY"]  = (HTTP_REQ_POLICY, self.filterDAV)
self.request["MOVE"]  = (HTTP_REQ_POLICY, self.filterDAV)
self.request["LOCK"]  = (HTTP_REQ_POLICY, self.filterDAV)
self.request["UNLOCK"]  = (HTTP_REQ_POLICY, self.filterDAV)

A PUT esetét óvatosan, hátha kell "normál" módban is.

A filterDAV:
def filterDAV(self, method, url, version):
   self.session.service.dnat = StaticNAT(SockAddrInet("davserver-címe",9443))
   return HTTP_REQ_ACCEPT

Service-ben router=TransparentRouter()

Ezzel el is van intézve.
Fontos, hogy a session.service.dnat változót üresre állítsuk, különben 
úgymarad és folyton a davserverre irányít. A davservernél a port tetszőleges, 
nálam egy apache fut csak ssl módban, csak dav céllal, egyébként a "fő" 
apache-al azonos konfiggal.

Slapic

- -- 
Pilatus-Comp Ltd. HUNGARY * The Linux Expert * pilatuscomp@linux.co.hu
  http://www.linux.co.hu * Phone: +36-1-2481816 * Fax: +36-1-2481817
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE90EQlCF6okiny5rwRArW9AJ9rJPHC+fmBnxyohk33v2RjbteHQQCgonCe
oQwezw1+7qS81oZbz3d8dRU=
=X4Z9
-----END PGP SIGNATURE-----