[zorp-hu] url rewrite probléma

Balazs Scheidler zorp-hu@lists.balabit.hu
Mon, 28 Feb 2005 13:07:25 +0100


On Mon, 2005-02-28 at 11:03 +0100, Gabor HALASZ wrote:
> Egy accelerator proxy mögött levő outlook web access szervert kellene 
> elérni (idáig megy is a dolog), amit valamiért úgy állítottak be, hogy a 
> /exchange/ kell az url mögé, és ezt szeretném a feledékeny userek 
> számára pótolni (2.0.7 Pro). Ezzel próbálkoztam:
> 
> class HttpS_C(HttpProxy):
>          def config(self):
>                  HttpProxy.config(self)
>                  self.max_url_length = 200
>                  self.parent_proxy = "172.16.80.1"
>                  self.parent_proxy_port = 8080
>                  self.permit_proxy_requests = TRUE
>                  self.rewrite_host_header = TRUE
>                  self.request["GET"] = (HTTP_REQ_POLICY, self.filterURL)
>                  self.transparent_mode = FALSE
>          def filterURL(self, method, url, version):
>                  self.request_url = 'http://owa.domain.int/exchange/'
>                  return HTTP_REQ_ACCEPT
> 
> 
> class Owa_C(PsslProxy):
>          def config(self):
>                  PsslProxy.config(self)
>                  self.client_need_ssl = TRUE
>                  self.client_cert = "/etc/zorp/owacert.pem"
>                  self.client_key = "/etc/zorp/owakey.pem"
>                  self.client_verify_type = PSSL_VERIFY_NONE
>                  self.client_ssl_method = PSSL_METHOD_ALL
>                  self.client_ssl_cipher = PSSL_CIPHERS_ALL
>                  self.server_need_ssl = FALSE
>                  self.server_verify_type = PSSL_VERIFY_NONE
>                  self.stack_proxy = HttpS_C
> 
> 	Service("Owa_S", Owa_C, 
> Router=DirectedRouter(SockAddrInet("172.16.80.1", 80)))
>          Listener(SockAddrInet("xxx.xxx.xxx.xxx", 443), "Owa_S")
> 
> Mire az accelerator proxy logjából az látszik, hogy /exchange lett a 
> request. Mi nem jó?
> 

mert fixen arra allitottad, esetleg valami ilyesmi:

         def filterURL(self, method, url, version):
                 self.request_url = 'http://owa.domain.int' + self.request_url_file + '/exchange/'
                 return HTTP_REQ_ACCEPT

biztos, hogy moge kell az exchange, nem ele?

         def filterURL(self, method, url, version):
                 self.request_url = 'http://owa.domain.int/exchange' + self.request_url_file
                 return HTTP_REQ_ACCEPT

-- 
Bazsi