How to bind Confluence to a particular network interface

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Purpose

By default, Tomcat will bind *:port when reading in a connector; that is, it will listen on every IP/Interface. In situations where a server has more than one network interface card, you can bind to a specific one by adding the address element to the connector configuration.

Solution

Change the server.xml file by adding an address element:

1 2 3 4 5 6 7 <Connector port="8080" connectionTimeout="20000" redirectPort="8443" address="192.168.1.1" maxThreads="48" minSpareThreads="10" enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11NioProtocol"/> ... <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false" startStopThreads="4">

Also, change the hostname from localhost to the relevant host name. In the file above, they are on the same IP.

Do note, that since usually there is only one Host container, the name set there should also match the value of

defaultHost set in the Engine container. If there is more than one Host containers, exactly one Host's name should match the Engine's defaultHost. Please refer to the

official Tomcat Host documentation reference

for details.

Updated on April 10, 2025

Still need help?

The Atlassian Community is here for you.