On Tue, 2007-10-02 at 00:45 +0200, Farkas Dániel wrote:
Udv Mindenkinek!
Azzal kuzdok, hogy a zorp a headerbe beletegye minden lekeresnel az X_HOST elemet a kliens IP cimevel, de csak egyes lekereseknel teszi meg.
Azteztem amit csak tudtam, talaltam, de nem leltem megoldast.
Ha tudtok megoldast, kerem osszatok meg velem!
Koszonom!
policy-http.py vonatkozo resze:
class IntraHttp(HttpProxy): def config(self): HttpProxy.config(self) self.transparent_mode = TRUE self.permit_proxy_requests = TRUE self.permit_server_requests = TRUE self.permit_null_response=TRUE self.request["GET"] = (HTTP_REQ_POLICY, self.filterURL) self.request["HEAD"] = (HTTP_REQ_POLICY, self.filterURL) self.request_headers["Host"] = (HTTP_HDR_POLICY, self.filterHost) self.error_silent = FALSE # TRUE volt
def filterURL(self, method, url, version): self.request_headers["X_HOST"] = (HTTP_HDR_INSERT, self.session.client_address.ip_s) log("http.info", 3, "%s: GET: %s" % (self.session.session_id, url)) return HTTP_REQ_ACCEPT
a request_headers tombot a proxy nem akkor dolgozza fel, amikor te beteszel egy elemet, hanem olyankor, amikor a fejlecfeldolgozashoz eler. Policy callbackbol a request_headers nem modosithato, illetve modosithato, de az tortenik, amit te is latsz: az elso keres nem, a keep-alive-ban erkezo tovabbiak mar tartalmazni fogjak a fejlecet. A megoldas a setRequestHeader() fuggveny hasznalata, amit valahogy igy kell meghivni: self.setRequestHeader("X_HOST", self.session.client_address.ip_s) -- Bazsi