using the confluence server app
Asked by YW:

Hi,

we are currently running plesk on our server. we have not been able to get the ssl installed on the server with plesk and want to desperately have access to the confluence app.

any suggestions? it's greatly appreciated.

thank you.


Answers:
author: YW
body: thanks so much for answering Ann :)

okay so for proxy name we add sub.domain.com:8090 or just sub.domain.com and place the 8090 where the 443 is for proxy port?

thanks in advance.

comments: author: AnnWorley
body: My understanding is your proxy will serve SSL on the default port of 443 to avoid using a port number in the Base URL, at least that is the usual practice. There should be no port number appended to the proxyName setting and the proxyPort should be 443.

The proxy should have settings that direct requests to port 443 over to port 8443 if you use the connector example I posted.

The 8090 connector is still there for http requests and because the [documentation](https://confluence.atlassian.com/doc/running-confluence-over-ssl-or-https-161203.html) recommends leaving it:
> Don't remove or comment out the http connector, as the Synchrony proxy health check, still requires HTTP. If you don't want to include the http connector, you can use the synchrony.proxy.healthcheck.disabled system property to disable the health check.


author: YW
body: hi ann,

we have everything set up and was able to get <https://docs.ourdomain.com> up and running, but receive a pop box saying tomcat is not correct (see attached), but the settings it is complaining about are actually correct.

this is our xml, any feedback would be greatly appreciated.

Here is your current server.xml, which is at:  

<br />

<br />

\<Server port="8000" shutdown="SHUTDOWN" debug="0"\>  
\<Service name="Tomcat-Standalone"\>  
\<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"  
proxyName="docs.ourdomain.com" proxyPort="80" scheme="http" /\>  

\<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\>  
\</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" proxyName="docs.ourdomain.com" proxyPort="443" 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\>

thanks.


author: YW
body: the pop up:

**Tomcat config is incorrect**

The Tomcat server.xml has an incorrect configuration:

**scheme** should be 'https'  
**proxyName** should be 'docs.cloudhosts.net'  
**proxyPort** should be '443'


author: YW
body: Hi, just checking in to see if anyone else has encountered this issue and if there is resolution.

The server.xml file is perceived as erroneous when the credentials are correct.

Many thanks in advance!


author: YW
body: i have been trying this for weeks, but the document does not reflect the xml file it references that is actually on the server. i really need to get this behind ssl for obvious reasons. has anyone successfully done this on a plesk server that can give us some pointers.

thanks so much!

comments: author: YW
body: the directions say:

Insert your **proxyName** and **proxyPort**as shown in the last line below:

    <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"   seme="https" secure="true" proxyName="www.example.com" proxyPort="443"/>

the directions show a place to enter the proxy name and port but the actual xml shows the following... no ref to proxyname... port etc.

\<!--  
\<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\>"/\>  
--\>


author: AnnWorley
body: You would need to add the proxyName, proxyPort and scheme to the SSL connector and uncomment that connector if you are running behind a proxy. [Proxy Support](https://tomcat.apache.org/tomcat-8.5-doc/config/http.html#Proxy_Support):
> The proxyName and proxyPort attributes can be used when Tomcat is run behind a proxy server. These attributes modify the values returned to web applications that call the request.getServerName() and request.getServerPort() methods, which are often used to construct absolute URLs for redirects. **Without configuring these attributes, the values returned would reflect the server name and port on which the connection from the proxy server was received, rather than the server name and port to whom the client directed the original request.**

(my boldface)

take out **\<!--** and **--\>**to uncomment then make an SSL connector like:

```
<Connector port="8443" maxHttpHeaderSize="8192"
 maxThreads="150" minSpareThreads="25"
 protocol="org.apache.coyote.http11.Http11NioProtocol"
 enableLookups="false" disableUploadTimeout="true"
 acceptCount="100" proxyName="www.your_domain.com" proxyPort="443" 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>"/>
```


author: AnnWorley
body: Hi - Happy to hear you are trying out Confluence. :)

Plesk has a support site that looks pretty good, they would have more expertise with their tool. We have a document on how to terminate SSL at the Tomcat webserver level and some reverse proxy SSL docs, but we specialize in the Atlassian software itself.

Plesk help: [Plesk support](https://support.plesk.com/hc/en-us)

Tomcat SSL doc: [Running Confluence Over SSL or HTTPS](https://confluence.atlassian.com/doc/running-confluence-over-ssl-or-https-161203.html)

SSL terminated at reverse proxy: [Running Confluence behind NGINX with SSL](https://confluence.atlassian.com/doc/running-confluence-behind-nginx-with-ssl-858772080.html)