Configure required connections and upstream ports

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

Allow outgoing connection from your network, and add an HTTP connector and upstream port to make sure your self-managed instance can connect to the tunnel.

Allow outgoing connections from your network

Allow outgoing connections on port 443:

To tunnel endpoint

When creating the tunnel, your self-managed instance needs to reach 'https://tunnel.services.atlassian.com', which is the tunnel endpoint on the cloud side.

You can verify that it does by running the following command. The request should return an error, which is the correct behavior.

curl https://tunnel.services.atlassian.com/status -I.

Add an HTTP connector and upstream port

The default port for the tunnel is 8060, however this is also a default port for Fisheye & Crucible. Therefore, we recommend using a different port number. The following example uses port 8065.

The HTTP connector that you configure needs to be accessible from localhost only.

Stop your instance and then complete the following steps:

Crucible or Fisheye

  1. Create a file <Fisheye installation directory>/content/WEB-INF/jetty-web.xml.

  2. Add one of the following connector. Use a port number that isn't already used by any application on this instance. 

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd" >
    <Configure class="org.eclipse.jetty.webapp.WebAppContext">
        <!-- ENABLE HTTP PORT 8065 -->
        <Get name="server">
            <Call name="addConnector">
                <Arg>
                    <New class="org.eclipse.jetty.server.ServerConnector">
                        <Arg name="server"><Ref refid="Server" /></Arg>
                        <Set name="port"><Property name="jetty.http.port" deprecated="jetty.port" default="8065"/></Set>
                    </New>
                </Arg>
            </Call>
        </Get>
    
        <!-- ENABLE ACCESS LOGGING -->
        <!-- Please change the value of 'default' attribute in Property element according to your FISHEYE_INST location-->
        <Call name="insertHandler">
            <Arg>
                <New id="RequestLog" class="com.cenqua.fisheye.web.jetty.FishEyeRequestLogHandler">
                    <Set name="requestLog">
                        <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
                            <Set name="filename"><Property name="jetty.logs" default="/absolute/path/to/FISHEYE_INST/var/log/"/>/access-yyyy_mm_dd.log</Set>
                            <Set name="filenameDateFormat">yyyy_MM_dd</Set>
                            <Set name="LogTimeZone">GMT</Set>
                            <Set name="retainDays">90</Set>
                            <Set name="append">true</Set>
                            <Set name="LogLatency">true</Set>
                        </New>
                    </Set>
                </New>
            </Arg>
        </Call>
    </Configure>
  3. Add the following snippet to the FISHEYE_JVM_FLAGS in fisheyectl.sh. Specify the same port number you used for the HTTP connector above: 

    -Dsecure.tunnel.upstream.port=$portNumber
  4. Restart Fisheye. For more info, see How to restart Fisheye.

Next steps

When you're ready, create an application tunnel from Atlassian Cloud to your instance, and then create a tunneled application links. You can check details on how to do this in the general documentation for app tunnels:

  1. Create an application tunnel to your self-managed instance.
  2. Create a tunneled application link.


Last modified on Dec 22, 2024

Was this helpful?

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