Confluence Dashboard Missing Content (CentOS 7/Apache Reverse Proxy)
Asked by Zebadiah Ramos:

Hello!

Our Confluence dashboard seems to be missing a lot of it's content now that we're accessing it through reverse proxy (screenshot below). Any ideas as to what the issue might be? We can still access the content when navigating to it and specifying port 8090.

Please let me know if more information is needed, and thank you as always for your help!


Answers:
author: Zebadiah Ramos
body: Helps if I include the screenshot...

![Capture.PNG](https://community.atlassian.com/t5/image/serverpage/image-id/9144i520BEC496956EAEA/image-size/large?v=v2&px=999 "Capture.PNG")

comments: author: Davin Studer
body: What are you using for the reverse proxy?


author: Davin Studer
body: Sorry just saw that your title says Apache. Di you setup your reverse proxy according to this page?

[Proxying Atlassian server applications with Apache HTTP Server (mod_proxy_http)](https://confluence.atlassian.com/kb/proxying-atlassian-server-applications-with-apache-http-server-mod_proxy_http-806032611.html)


author: Zebadiah Ramos
body: Hello David!

Sorry for the long response time on this, but yes, that's the page I followed for initial set up.

Would you like me to include my config files on the set up?


author: Davin Studer
body: It looks like you aren't getting the stylesheet served through the reverse proxy ... possibly javascript files as well. By chance are the stylesheet files trying to be loaded over http, while the request is using https? If you open up your browser developer tools (F12) do you see a bunch of http errors on the network tab? Is your Server Base URL set up correctly (Confluence Admin - \>General Configuration)?


author: Zebadiah Ramos
body: Hello Davin!

So the base URL is set to the IP address, is that correct?

Also I believe you are correct on the stylesheets/javascripts not being served, here is the output from the developer tool network tab you referenced:

![developer tab.PNG](https://community.atlassian.com/t5/image/serverpage/image-id/9211i67F45699A796D5F7/image-size/large?v=v2&px=999 "developer tab.PNG")


author: Davin Studer
body: Do you access the server by IP? If not then no. It should be what is in your browser url bar.


author: Davin Studer
body: What do you see on the console tab? You should probably see something regarding those http 500 errors.


author: Zebadiah Ramos
body: We're currently accessing it by IP. The plan is to create a DNS record that allows us to type in "Confluence/" in the address bar (essentially creating a name record for the IP).


author: Davin Studer
body: Ah ... ok. Are you accessing the site over https or http? Also did make the changes to the connector in server.xml? It should look like this ...

**Non-SSL**

            proxyName="your.server.ip.address"        proxyPort="80"        scheme="http"/>

**Over SSL**

            proxyName="your.server.ip.address"        proxyPort="443"        scheme="https"/>


author: Zebadiah Ramos
body: We're attempting to access over http, here's the server.xml config:

\<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" proxyName="10.1.110.35" proxyPort="80" scheme="http"  
protocol="org.apache.coyote.http11.Http11NioProtocol" /\>

\<Engine name="Standalone" defaultHost="localhost" debug="0"\>


author: Zebadiah Ramos
body: This is resolved, ended up being a configuration issue with the vhost.conf. After changing the config to the below it worked without issue.

\<VirtualHost \*:80\>  
ServerName \*\*\*\*\*\*\*\*\*\*

ProxyRequests Off  
ProxyPreserveHost On

RewriteEngine On  
RewriteCond %{REQUEST_URI} !\^/synchrony  
RewriteRule \^/(.\*) http://localhost:8090/$1 \[P\]

<br />

\<Proxy \*\>  
Require all granted  
\</Proxy\>

ProxyPass /synchrony http://localhost:8091/synchrony

\<Location /synchrony\>  
Require all granted  
RewriteEngine on  
RewriteCond %{HTTP:UPGRADE} \^WebSocket$ \[NC\]  
RewriteCond %{HTTP:CONNECTION} Upgrade$ \[NC\]  
RewriteRule .\* ws://localhost:8091%{REQUEST_URI} \[P\]  
\</Location\>

ProxyPass / http://localhost:8090  
ProxyPassReverse / http://localhost:8090

\<Location /\>  
Require all granted  
\</Location\>

\</VirtualHost\>


author: Davin Studer
body: That good to hear. So, I guess the biggest question to come across my mind would be if you are not using the reverse proxy for doing SSL with Confluence, then is the point of it? Mostly I'm just curious as to the use case for doing that without it being for SSl.


author: Zebadiah Ramos
body: Hello Davin!

Our leadership requested they be able to just type "Confluence/" or "Jira/" within their address bar to get each app. So I've created a name record within our DNS server for each app that resolves those entries to the application IP address, but since you can't specify port in the name record I needed to have the applications listening on port 80.

Also if there's an easier way to accomplish this please let me know, because as of now I'm still ironing out issues with JIRA while it sits behind the reverse proxy.


author: Davin Studer
body: Oh. So you have Confluence and JIRA on the same server. Ok. That makes sense. I don't think there is a better way to do it other than run them on separate machines.