Hello,
While looking for another problem's solution I came up with a new problem I'm unable to solve.
I had problems accessing templates, deleting or moving pages inside Confluence even when working as Confluence admin:
https://community.atlassian.com/t5/Confluence-questions/Problems-accessing-templates-and-moving-deleting-pages-after/qaq-p/678648?utm_campaign=&utm_content=post&utm_medium=email&utm_source=atlcomm#U679366
As a solution I came up with reversing everything to a state before reverse proxying.
But I really need to run Confluence behind that reverse proxy. And thats the problem:
Our Confluence instance is running inside a docker container. Both port 8090 and 8091 are accessible from the host (e.g. http://localhost:8090)
In front of this docker container the reverse proxy is running, configured as described here. Apache version is 2.4.25
This is the actual server.xml file (removed some domain info for security reason)
<Server port="8000" shutdown="SHUTDOWN" debug="0">
<Service name="Tomcat-Standalone">
<Connector port="8090" secure="true" scheme="https" proxyName="wiki.xxxxx.tld" proxyPort="443" connectionTimeout="20000" redirectPort="8443"
maxThreads="48" 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" startStopThreads="4">
<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="" />
<Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="60" />
</Context>
<Context path="${confluence.context.path}/synchrony-proxy" docBase="../synchrony-proxy" debug="0" reloadable="false" useHttpOnly="true">
<Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="60" />
</Context>
</Host>
</Engine>
<!--
To run Confluence via HTTPS:
* Uncomment the Connector below
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and the keystore itself.
* Restart and visit https://localhost:8443/
For more info, see https://confluence.atlassian.com/display/DOC/Running+Confluence+Over+SSL+or+HTTPS
-->
<!--
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25"
protocol="org.apache.coyote.http11.Http11NioProtocol"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocols="TLSv1,TLSv1.1,TLSv1.2" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" SSLEnabled="true"
URIEncoding="UTF-8" keystorePass="<MY_CERTIFICATE_PASSWORD>"/>
-->
</Service>
</Server>
I think the best option is running confluence behind the reverse proxy without SSL, so the connection between reverse proxy and docker container is not encrypted. That is why the last part in server.xml is commented out (beginning from "To run confluence via HTTPS:")
I believe the magic is happening in line 3 "<Connector ...". But how about the redirectPort? It is set by default to port 8443, but I do not use it because of no HTTPS. Can I change it to 8090 to make it work? And is proxyPort="443" necessary when setting scheme="https"?
((Confluence) Docker) --- http:// --- (Apache reverse proxy) --- https:// --- (I-NET)
Any ideas?
Regards
Olaf