[zorp-hu] Forras cim a httpd logba ujra
Hegedüs Ervin
zorp-hu@lists.balabit.hu
Thu, 4 Nov 2004 17:34:09 +0100
hello,
> Adott egy tuzfal zorppal, mogotte ket webszerver.
> Szeretnem atadni az IP cimet logelemzesnek, de nem akar menni.
en igy csinalom:
from socket import gethostbyaddr
> class WD_http(HttpProxy):
> def config(self):
> HttpProxy.config(self)
> self.request["GET"] = (HTTP_REQ_POLICY, self.filterURL)
> self.request["POST"] = (HTTP_REQ_POLICY,
> self.filterURL)
# ha nincs reverse, elhasal a Zorp...
# ha eleg az IP, ez nem kell, es a HDR_INSERT-nel
# csak a client_address kell
try:
RemoteHost = gethostbyaddr (self.session.client_address.ip_s)[0];
except:
RemoteHost = self.session.client_address.ip_s;
> def filterURL(self, method, url, version):
self.request_headers["X-Host"] = (HTTP_HDR_INSERT, RemoteHost)
> if self.request_url_host == "www.akarmi1.hu":
> self.session.server_address =
> SockAddrInet("192.168.1.100", 8080)
> return HTTP_REQ_ACCEPT
> if self.request_url_host == "www.akarmi2.hu":
> self.session.server_address =
> SockAddrInet("192.168.2.100", 80)
> return HTTP_REQ_ACCEPT
> else :
> self.session.server_address =
> SockAddrInet("192.168.1.100", 80)
> return HTTP_REQ_ACCEPT
...
httpd.conf-ban pedig:
...
LogFormat "%{X-host}i %l %u %t \"%r\" %>s %b" common
...
a.
(en nem osztom el vhost szerint a kereseket, mindegyik ugyanoda megy,
de gondolom a header beszuras eleg igy, nem kell mindegyiknel...)
--
Minden baj forrása az 1/x függvény.