dgaudet 98/05/25 00:16:13
Modified: src CHANGES http_protocol.c Log: > I have two web servers running on my machine > (aleatory.research.bell-labs.com). Aleatory has two aliases, > lpwa.tempo.bell-labs.com and www-zoo.research.bell-labs.com. One > server is Apache, running as a proxy on > lpwa.tempo.bell-labs.com:8000. The second is a different > (non-Apache) HTTP server on www-zoo.research.bell-labs.com:80. > > A request to lpwa.tempo.bell-labs.com:8000 like this: > GET http://www-zoo.research.bell-labs.com/~dmk/ HTTP/1.0 > > is supposed to be forwarded by the (Apache) proxy to the www-zoo:80 > server. What happens instead (in 1.2.6) is I get a 404 File Not Found > error. The Apache proxy has decided to serve the page itself, rather > than forward the request. > > The fault appears to lie with check_fulluri() in http_protocol.c. In > Apache 1.2.5, check_fulluri() returned the incoming URL unchanged. In > Apache 1.2.6, check_fulluri() returns "/~dmk/", which the proxy assumes > is a page served locally by the proxy, not by www-zoo. > > The different behavior occurs because of a change in the code that > checks port numbers (line 572 ff). In my case there are no virtual > hosts, so sar->host_port is zero, but the code thinks it has identified > a virtual host. The code then proceeds to match hostnames and to > decide that the resource can be served locally. Submitted by: Dave Kristol <[EMAIL PROTECTED]> Revision Changes Path 1.310 +3 -0 apache-1.2/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v retrieving revision 1.309 retrieving revision 1.310 diff -u -r1.309 -r1.310 --- CHANGES 1998/05/18 21:49:26 1.309 +++ CHANGES 1998/05/25 07:16:11 1.310 @@ -1,5 +1,8 @@ Changes with Apache 1.2.7 + *) Fix a problem with proxy URL manipulation introduced in 1.2.6. + [Dave Kristol <[EMAIL PROTECTED]>] + *) Improve RFC1413 support. [Bob Beck <[EMAIL PROTECTED]>] *) Support for NCR MP/RAS 3.0 [John Withers <[EMAIL PROTECTED]>] 1.137 +1 -1 apache-1.2/src/http_protocol.c Index: http_protocol.c =================================================================== RCS file: /export/home/cvs/apache-1.2/src/http_protocol.c,v retrieving revision 1.136 retrieving revision 1.137 diff -u -r1.136 -r1.137 --- http_protocol.c 1998/05/08 06:29:33 1.136 +++ http_protocol.c 1998/05/25 07:16:11 1.137 @@ -586,7 +586,7 @@ if( (sar->host_port == 0) || (port == sar->host_port) ) break; } - if (!sar) return uri; + if (!sar || !sar->virthost) return uri; } /* Save it for later use */