DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25515>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25515 redirects with UseCanonicalName do not use user supplied port Summary: redirects with UseCanonicalName do not use user supplied port Product: Apache httpd-1.3 Version: 1.3.29 Platform: Other OS/Version: Linux Status: NEW Severity: Normal Priority: Other Component: core AssignedTo: [email protected] ReportedBy: [EMAIL PROTECTED] I have 2 apache 1.3.29 servers, server1 listens port 80 (on a firewall box), server2 also listens on port 80 (on a box behind the firewall). The firewall is configured to forward incoming requests for port 82 to server2 on port 80. Both servers are configured for "UseCanonicalName off". However apache seems to get it's port (for redirect purposes) from where it is listening on, and not from the user requests. The documentation for UseCanonicalName says "With UseCanonicalName Off Apache will form self-referential URLs using the hostname and port supplied by the client". My testing is as follows: With the config as above, I can try this (replacing the actual FQDNs & IPs of course). Note that both servers have a directory called "/config" that requires authentication, but the passwords on each server are different. wget --http-user=test1 --http-passwd=test1 "http://server2:82/config" --15:04:07-- http://server2:82/config => `config' Resolving server2... done. Connecting to server2[10.1.1.1]:82... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://server2/config/ [following] --15:04:07-- http://server2/config/ => `index.html' Connecting to server2[10.1.1.1]:80... connected. HTTP request sent, awaiting response... 401 Authorization Required Authorization failed. As you can see I connected fine to port 82, but I was redirected to port 80. Now if I change server2 to listen on port 82 (and thus change the port forward from 82->80 to 82->82), the redirect will be correct: wget --http-user=test1 --http-passwd=test1 "http://server2:82/config" --15:03:26-- http://server2:82/config => `config' Resolving server2... done. Connecting to server2[10.1.1.1]:82... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://server2:82/config/ [following] --15:03:26-- http://server2:82/config/ => `index.html' Connecting to server2[10.1.1.1]:82... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] I verified that "UseCanonicalName off" was working by using another servername that pointed to the same external ip. It does use the user supplied servername as expected. It is almost as if apache looks at the user specified hostname and port, but then checks to make sure that the user supplied port matches with one it is listening on, and then dropps the user supplied port if it does not match. >From my interpretation of the documentation, it does not appear that this behaviour is correct. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
