How to create an unproxied application link

Still need help?

The Atlassian Community is here for you.

Ask the community

When working with application links, it may be necessary to bypass any existing reverse proxy or SSL configuration, without disrupting normal usage for your instances.

Let's take Confluence and JIRA:

  • Confluence
    • Proxied address: https://confluence.mycompany.com/
    • Unproxied address: http://192.168.100.100:8095/
  • JIRA
    • Proxied address: https://jira.mycompany.com/
    • Unproxied address: http://192.168.100.100:8081/

You must be able to browse to the application via the unproxied URL. Some network configurations may allow communication between the two servers, but you must be able to browse to the two unproxied addresses for the purpose of creating the application link.

To bypass a reverse proxy or SSL configuration, introduce an additional HTTP connector in Tomcat. The following is a bare minimum HTTP connector for use in Tomcat across Atlassian Products:
<Connector port="8080" connectionTimeout="20000" maxThreads="200" minSpareThreads="10" 
	enableLookups="false" acceptCount="10" URIEncoding="UTF-8" />

To make use of this, edit the server.xml file for the application in question. The connector must be added inside the Service element. You will also need to restart the application to take effect.

You should adjust the value of the port attribute in the new connector. Ensure to use a port that isn't already used by any application on the same physical machine. For example, if you have JIRA listening for incoming connections on port 8080 (which is in turn connected to a reverse proxy), you should change your new connector to something else, such as 8081.

if web.xml has been edited as per our documentation on connecting over ssl services, the following lines will need to be removed temporarily to bypass URL redirection.

Click here to expand...
<security-constraint>
  <web-resource-collection>
    <web-resource-name>all-except-attachments</web-resource-name>
    <url-pattern>*.jsp</url-pattern>
    <url-pattern>*.jspa</url-pattern>
    <url-pattern>/browse/*</url-pattern>
	<url-pattern>/issues/*</url-pattern> 
  </web-resource-collection>
  <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
</security-constraint>

As of Bitbucket Server 5.0, you can't configure any Tomcat connectors directly as the application runs on Spring Boot.

The usual server.xml configurations have been replaced by properties that need to be configured on <Bitbucket home directory>/shared/bitbucket.properties

Similarly, you can't configure web.xml.

In order to add a new HTTP connector for this purpose, this is the only configuration you need:

server.additional-connector.1.port=8080

Please read through Migrate server.xml customizations to bitbucket.properties

 

 

  1. See How to bypass a reverse proxy or SSL in Application Links for more information on setting up an unproxied HTTP connector.
  2. Ensure that the HTTP connector is configured on both side of the application, using different ports

 

  1. Access one of the application using the new unproxied port. <ip address:unproxied port> (eg: 127.0.0.1:8080)
  2. Set each application's base URL to the unproxied address.
  3. Create a new application link as usual, using the unproxied address as the application URL.
  4. Set the base URL for each instance back to the proxied address.
  5. Edit the application link (at each application) by clicking "Edit" next to link for the other application.
  6. In the Display URL text box, type the proxied address. It will be different from the application URL (which cannot be changed).
  7. Click Update.

Only a single URL may be specified for the application link URL. This means that all application link traffic will be directed to a single node if the load balancer is bypassed.

This may be desirable in certain scenarios where a single node is dedicated to back end operations and excluded from client traffic.

There is a bug that all remote events fail if base URL does not match application link URL. The fix was released in the following versions:

  • Bitbucket Server 4.0.4+:  BSERV-7802 - Getting issue details... STATUS
  • Bamboo 5.13.1+:  BAM-17579 - Getting issue details... STATUS

 

Last modified on Mar 3, 2017

Was this helpful?

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