I'm using Apache HTTPD in front of Apache Tomcat with the following virtual host:
$ cat /etc/apache2/sites-enabled/onlinetaskboarddotcom
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.onlinetaskboard.com
ServerAlias onlinetaskboard.com
DocumentRoot /home/ubuntu/www/apache/onlinetaskboarddotcom
ProxyPass / http://www.onlinetaskboard.com:8080/
ProxyPassReverse / http://www.onlinetaskboard.com:8080/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/ubuntu/www/apache/onlinetaskboarddotcom/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
The URLs without www
subdomain like onlinetaskboard.com/login
and onlinetaskboard.com/someOtherValidPage
work fine, however once I include the www
subdomain like www.onlinetaskboard.com
, then I get a 404 error in some browsers like Chrome.
Here are the request/response headers which I observed in Chrome.
With www
subdomain:
Request: Request URL:http://www.onlinetaskboard.com/ Request Method:GET Status Code:404 Not Found Request headers: Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Connection:keep-alive Cookie:JSESSIONID=DE44F60835D23E6AB3CC2A2E8B9D6279 Host:www.onlinetaskboard.com User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/28.0.1500.71 Chrome/28.0.1500.71 Safari/537.36 Response headers: Connection:Keep-Alive Content-Encoding:gzip Content-Length:377 Content-Type:text/html;charset=ISO-8859-1 Date:Thu, 14 Nov 2013 23:39:24 GMT Keep-Alive:timeout=5, max=99 Server:Apache-Coyote/1.1 Vary:Accept-Encoding X-Pad:avoid browser bug
And without the www
subdomain:
Request: Request URL:http://onlinetaskboard.com/ Request Method:GET Status Code:302 Found Request Headers: Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Cookie:JSESSIONID=36D1DED5A3F7B5E185FE5D5EDD4457FC Host:onlinetaskboard.com User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/28.0.1500.71 Chrome/28.0.1500.71 Safari/537.36 Response headers: Connection:Keep-Alive Content-Length:0 Date:Fri, 15 Nov 2013 00:04:33 GMT Keep-Alive:timeout=5, max=100 Location:http://onlinetaskboard.com/login Server:Apache-Coyote/1.1
How is this caused and how can I solve it?