When using Tomcat6 on a server/desktop that is running both IPv4 and IPv6 networks, there are times when the Tomcat connector will bind to either the IPv4 or IPv6 interface and not both. This only occurs on kernels where the IPv4 and IPv6 stack do not share a common listener. Personally, I have had this occur on Windows7, Windows Server 2008, and RHEL6 servers.

There are some tricks to get around this.

Trick #1:

Add the following to each connector in your server.xml file.

address="0.0.0.0"

This configuration works reliably on Windows servers, but on RHEL 6.x this does not work

Trick #2:

This one I found buried in a blog entry. Add the following to your CATALINA_OPTS variable in your startup script.

-Djava.net.preferIPv4Stack=true

This worked on RHEL6.