From 239e609bcf4e4c85fa505775e16ef4cb07655759 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 23 Nov 2011 16:54:39 -0400 Subject: [PATCH] analysis --- .../Running_on_an_alternative_port_fails.mdwn | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/doc/bugs/Running_on_an_alternative_port_fails.mdwn b/doc/bugs/Running_on_an_alternative_port_fails.mdwn index 7db0db386..b97f64383 100644 --- a/doc/bugs/Running_on_an_alternative_port_fails.mdwn +++ b/doc/bugs/Running_on_an_alternative_port_fails.mdwn @@ -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`: + +
+    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);
+
+ +>>>> 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 -- 2.39.5