How to bind Confluence to a particular network interface

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

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:

<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.
Last modified on Oct 13, 2022

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.