Search code examples
apacheproxyreverse-proxynexusmod-proxy

Blocked Request by browser with mixed content with html frame and apache reversed proxy?


I am running a web app (Nexus of Sonatype) behind a apache reversed proxy as:

ProxyRequests Off
ProxyPreserveHost Off
ProxyPass /nexus http://127.0.0.1:8081/nexus
ProxyPassReverse /nexus http://127.0.0.1:8081/nexus

The web page uses a few frames to show the nexus web site (just an admin site):

<frameset>
   <frame src="quickMenu.html" />
   <frame src="../nexus" />
</frameset>

When loading this web page, it tells me that it's blocking the ../nexus link as it's loaded through http, while the web site is loaded through https:

Mixed Content: The page at 'https://dev.bla.nl/apps/nexusFrame.html' was loaded over HTTPS, but requested an insecure resource 'http://dev.bla.nl/nexus/'. This request has been blocked; the content must be served over HTTPS.

I don't understand this error as the page is loaded as https page and the nexus site is included as relative path.

If I open the page https://dev.bla.nl/nexus directly, it works just fine :( I played with the reversed proxy settings like the ProxyRequests/ProxyPreserveHost, but without luck. Any idea how to solve this ?

Note: before the Nexus app was running in a Tomcat container, and I used Ajp as proxy channel, that worked fine, namely:

ProxyPass /nexus ajp://127.0.0.1:8080/nexus
ProxyPassReverse /nexus ajp://127.0.0.1:8080/nexus

Any idea how to solve this?


Solution

  • I would suggest to use simple proxying and not embedding Nexus in a frame. Details on how to configure this can be found in the documentation.