/
Confluence Data Center

Confluence Data Center

!!! We are currently migrating this Cloud Instance to our own hosted Server instance !!!

Please follow this link to get to the content you wanted: https://wiki.resolution.de/x/GQCxAQ

Thanks for your understanding.



SAML Single Sign On is is tested with Confluence Data Center in the following environment.

Confluence-Nodes

The two Confluence-Nodes confluencedc01 and confluencedc02 are VMs running Debian 8 (Jessie) with Oracle Java version 1.8.0_66-b17.

The Confluence-version is 5.9.4, installed from the tgz-bundle.

The shared home-directory is shared using NFS.

server.xml is modified for the use behind a reverse proxy:

<Server port="8000" shutdown="SHUTDOWN" debug="0">
    <Service name="Tomcat-Standalone">
		<!-- proxyName, proxyPort and scheme must be configured -->
        <Connector port="8090" connectionTimeout="20000" redirectPort="8443"
               	proxyName="confluencedc59.lab.inserve.local" 
                proxyPort="443" 
				scheme="https"
        		
				maxThreads="200" minSpareThreads="10"
                enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
                protocol="org.apache.coyote.http11.Http11NioProtocol" />
        <Engine name="Standalone" defaultHost="localhost" debug="0">
            <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false">
                <Context path="" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true">
                    <!-- Logger is deprecated in Tomcat 5.5. Logging configuration for Confluence is specified in confluence/WEB-INF/classes/log4j.properties -->
                    <Manager pathname="" />
                </Context>
            </Host>
        </Engine>
    </Service>
</Server>

Confluence is started and stopped using this systemd-configuration under /etc/systemd/system/confluence594.service:

[Unit] 
Description=Confluence 5.9.4
After=network.target

[Service] 
Type=simple
User=confluence
PIDFile=/opt/atlassian-confluence-5.9.4/confluence/work/catalina.pid
ExecStart=/opt/atlassian-confluence-5.9.4/bin/start-confluence.sh -fg
ExecStop=/opt/atlassian-confluence-5.9.4/bin/stop-confluence.sh

[Install] 
WantedBy=multi-user.target

Database

PostgreSQL 9.4.3 is used as database running on host postgres01, a VM running Debian 8 (Jessie)

Load Balancer/Reverse Proxy

Apache 2.4.10 is used as reverse proxy/load balancer. It also runs on host postgres01. HTTPS is terminated on the reverse proxy.

This is the virtual host configuration:

<VirtualHost *:443>
    ProxyRequests off

	#
	# confluence59.lab.inserve.local is set up as CNAME to postgres01 in the DNS
	#	 
    ServerName confluencedc59.lab.inserve.local

	#
	# Set a routeID-header. This is important to get sticky sessions: All requests from a client must
	# be served by the same Confluence node. 
	# Without this header, WebSudo is not wirking and the SAMLSSO-Plugin caused redirection-loops between the Confluence nodes. 
	# 
	Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED

    <Proxy balancer://confluencecluster>
       BalancerMember http://confluencedc01.lab.inserve.local:8090 route=confluencedc01
       BalancerMember http://confluencedc02.lab.inserve.local:8090 route=confluencedc02
     
       # Security "we aren't blocking anyone but this the place to make those changes
       Order Deny,Allow
       Deny from none
       Allow from all
    </Proxy>

    # Here's how to enable the load balancer's management UI if desired
        <Location /balancer-manager>
                SetHandler balancer-manager
                # You SHOULD CHANGE THIS to only allow trusted ips to use the manager 
                Order deny,allow
                Allow from all
        </Location>

    # Don't reverse-proxy requests to the management UI
    ProxyPass /balancer-manager !
    # Reverse proxy all other requests to the Confluence cluster
    ProxyPass / balancer://confluencecluster/ stickysession=ROUTEID    
    ProxyPassReverse / balancer://confluencecluster
   	ProxyPreserveHost on

    SSLProxyEngine    On

    SSLEngine on
    SSLCertificateFile /etc/ssl/localcerts/star.lab.inserve.local.pem
        SSLCertificateKeyFile /etc/ssl/localcerts/star.lab.inserve.local.key 
        SSLCertificateChainFile /etc/ssl/localcerts/labca.pem 
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>