NB: both the 'url' and the 'cgiurl' include the port and removing the port element provides the expected functionality.
+---
+
> I tried to reproduce this by making my laptop's web server use port
> 8080. Set up ikiwiki to use that in cgiurl and url, and had
> no problem with either openid or password auth login.
> what version you were using. It could also be a problem with your web
> server, conceviably, if didn't correctly communicate the port to the cgi
> program. --[[Joey]]
+
+---
+
+>> I did think of that so threw a 'printenv' script to check the port was arriving
+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
+>>> HTTP_USER_AGENT=Mozilla/5.0 (X11; U; Linux i686; en-ie) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/531.2+ Ubuntu/10.10 () Epiphany/2.30.2
+>>> PWD=/home/http1/www/cgi-bin
+>>> REQUEST_METHOD=GET
+>>> SERVER_SOFTWARE=thttpd
+>>> SERVER_NAME=zippy0
+>>> SERVER_PROTOCOL=HTTP/1.1
+>>> HTTP_ACCEPT_ENCODING=gzip
+>>> GATEWAY_INTERFACE=CGI/1.1
+>>> CGI_PATTERN=cgi-bin/*
+>>> HTTP_COOKIE=ikiwiki_session_c%5E2%3Fsupport%3Dtrue=bdf13df0460966a607ba497967ea5ff4
+>>> REMOTE_ADDR=10.0.0.1
+>>> HTTP_ACCEPT=application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
+
+>>Seems to be. Using version from packaging system;
+
+>>> ikiwiki-3.20110905
+
+>> which I'd guess is from Apr last year. Will look for updates and post back if still
+wrong.
+
+>> Cheers
+
+>> -- fergus
+
+>> PS: all the links generated by CGI pages omit the port; this works if i login first and then
+reset the server on the 'odd' port -- hovering over the links absolute links with the port missing.