blog.bartlweb - a technologist's external brain

Probleme in Firefox mit der Inline-Kommentarfunktion und dem Editor in Confluence hinter einem Reverse-Proxy

Ich habe nach dem letzten Update von Confluence in Firefox einiges an Fehlverhalten (Probleme beim Laden, doppelte Inhalte) beim Benutzen des Editors bzw. der Inline-Kommentar-Funktion festgestellt (Anmerkung: Interessanterweise traten die Probleme unter Chrome und Safari nicht auf).

Die Confluence-Installation liegt hinter einem Apache Reverse-Proxy und ich habe mir deshalb vor allem diese Konfiguration näher angesehen und schlussendlich als Problem identifiziert.

Confluence für die Verwendung hinter einem Reverse-Proxy konfigurieren

Wer Confluence hinter einem Revers-Proxy betreibt, muss in der Konfigurationsdatei server.xml (bei der Installation im vorgeschlagenen Standardpfad unter /opt/atlassian/confluence/conf/ zu finden) den richtigen Connector konfigurieren. Dazu sind in der Konfigurationsdatei bereits entsprechende Konfigurationsabschnitte für verschiedene Arten an Verbindungen auskommentiert enthalten. Wer wie ich für die Ansprache von Confluence durch den Reverse-Proxy HTTPS nutzt, muss den unten stehenden Block aktivieren und darf vor allem nicht darauf vergessen im Attribut proxyName die korrekte URL einzugeben, über welche Confluence schlussendlich für den Endnutzer erreichbar ist.

<!--
==============================================================================================================
HTTPS - Proxying Confluence via Apache or Nginx over HTTPS
  
If you're proxying traffic to Confluence over HTTPS, uncomment the connector below and comment out the others.
Make sure you provide the right information for proxyName and proxyPort.
  
For more information see:
Apache - https://confluence.atlassian.com/x/PTT3MQ
nginx - https://confluence.atlassian.com/x/cNIvMw
==============================================================================================================
-->
   
<Connector port="8090" connectionTimeout="20000" redirectPort="8443"
maxThreads="48" minSpareThreads="10"
enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
protocol="org.apache.coyote.http11.Http11NioProtocol"
scheme="https" secure="true" proxyName="confluence.example.com" proxyPort="443"/>

Der bis dato aktivierte Standard-Connector für die direkte Verbindung ohne Proxy sollte dann auch auskommentiert werden:

<!--
==============================================================================================================
DEFAULT - Direct connector with no proxy, for unproxied HTTP access to Confluence.
 
If using a http/https proxy, comment out this connector.
==============================================================================================================
-->
<!--
<Connector port="8090" connectionTimeout="20000" redirectPort="8443"
maxThreads="48" minSpareThreads="10"
enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
protocol="org.apache.coyote.http11.Http11NioProtocol"/>
-->

Wichtig ist zu wissen, dass bei jedem Update von Confluence genau diese Konfigurationsdatei zurückgesetzt wird und daher nach jedem Update diese Konfiguration erneut durchgeführt werden muss.

Reverse-Proxy konfigurieren

Die Revers-Proxy-Konfiguration für Apache (mod_proxy) bedarf dann noch zusätzlich einiger Kniffe für ein Modul Namens synchrony, dass von Confluence für die Collaboration-Funktion des Editors benötigt wird.

ProxyRequests Off
ProxyPreserveHost On
  
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/synchrony
RewriteRule ^/(.*) http://confluence.local:8090/$1 [P]
  
ProxyPass /synchrony http://confluence.local:8091/synchrony
<Location /synchrony>
  RewriteEngine on
  RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
  RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
  RewriteRule .* ws://confluence.local:8091%{REQUEST_URI} [P]
</Location>
  
ProxyPass / http://confluence.local:8090/
ProxyPassReverse / http://confluence.local:8090/

Dieser Artikel hat Dir deinen Tag gerettet?

... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? Oder einfach nur Dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Anerkennung honorierst:

Zahlung mit PayPal oder Kreditkarte.

Hinweis zur Verwendung

Die Übermittlung einer Zahlung ist eine persönliche Anerkennung Ihrerseits an den Entwickler (Christian Bartl, Privatperson). Eine Zahlung ist nicht zweckgebunden und es ist keine Gegenleistung zu erwarten. Bitte beachten Sie, dass für eine übermittelte Zahlung keine Quittung ausgestellt werden kann.

Über den Autor

Christian Bartl

Christian Bartl Requirements Engineer
& Solution Architect für Online und Mobile

Als Technologie-Enthusiast und begeisterter Programmierer entwickle ich in meiner Freizeit Websites, Software und IT-Lösungen, die mir selbst und anderen den Alltag vereinfachen.

mehr auf christian.bartl.me

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste! - Ich freue mich über deine Anmerkung, Kritik oder Frage.

Kommentar schreiben

Der hier angegebene Name wird gemeinsam mit deinem Kommentar auf der Website veröffentlicht.

Deine E-Mail-Adresse wird zur einmaligen Benachrichtigung bei Veröffentlichung des Kommentars genutzt.

Benachrichtigung per E-Mail über Antworten auf meinen Kommentar erhalten.

Bitte tippe die Zahlenkombination "9643" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.