]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/bugs/Running_on_an_alternative_port_fails.mdwn
Merge branch 'master' of ssh://git.ikiwiki.info
[ikiwiki.git] / doc / bugs / Running_on_an_alternative_port_fails.mdwn
index 2dea7a8dc749b40d8dcdf2cbc186e0a2a6406f67..d091bf1fc46388fbe1cbbad973d7e1f9923cc0c1 100644 (file)
@@ -24,6 +24,22 @@ right.
 
 >>>     SERVER_PORT=8181  
 >>>     HTTP_HOST=zippy0.ie0.cobbled.net  
+
+>>>> In apache, `HTTP_HOST` includes the port. This is not part of the CGI
+>>>> spec it seems, but perl's `CGI` module seems to rely on it,
+>>>> in `virtual_port`:
+
+<pre>
+    my $vh = $self->http('x_forwarded_host') || $self->http('host');
+    my $protocol = $self->protocol;
+    if ($vh) {
+        return ($vh =~ /:(\d+)$/)[0] || ($protocol eq 'https' ? 443 : 80);
+</pre>
+
+>>>> The `CGI` module only looks at `SERVER_PORT` when there's no
+>>>> `HTTP_HOST`. So this is either a bug in perl's CGI or thttpd.
+>>>> --[[Joey]]
+
 >>>     HTTP_ACCEPT_LANGUAGE=en-ie, en  
 >>>     PATH=/usr/local/bin:/usr/ucb:/bin:/usr/bin  
 >>>     SCRIPT_NAME=/cgi-bin/printenv.sh