How do I set up (Apache) reverse proxy to CLM 2012 (RTC 4 and friends).
Hi,
I am trying to set up apache as reverse proxy to CLM2012 running Tomcat. As proof of concept both are installed on the same Linux box. I don't have a CA certificates so I removed SSL from CLM (modified tomcat/conf/server.xml, tomcat/webapps/<app>/WEB-INF/web.xml etc). I also added proxyName="clm.example.com" and proxyPort="80" to server.xml.
Apache answers http://clm.example.com no problem.
CLM answers http://clm.example.com:9080/jts/setup no problem.
My proxy settings are as follows:
SetOutputFilter INFLATE;DEFLATE
ProxyPass /jts/ http://clm.example.com:9080/jts/
ProxyHTMLURLMap http://clm.example.com:9080/jts /jts
ProxyPass /ccm/ http://clm.example.com:9080/ccm/
ProxyHTMLURLMap http://clm.example.com:9080/ccm /ccm
ProxyPass /qm/ http://clm.example.com:9080/qm/
ProxyHTMLURLMap http://clm.example.com:9080/qm /qm
<Location /jts/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLExtended On
ProxyHTMLURLMap / /jts/
</Location>
<Location /ccm/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLExtended On
ProxyHTMLURLMap / /ccm/
</Location>
<Location /qm/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLExtended On
ProxyHTMLURLMap / /qm/
</Location>
I can go to http://clm.example.com/jts/setup, log in as ADMIN and carry on set up no problem until "register applications" screen, when I get errors "Unable to load /jts/proxy?uri=http%3A%2F%2Fclm.example.com%3A9080%2Fccm%2Fapplication-about status:403" (Notice the 9080).
I also tried to have a look at http://clm.example.com/ccm/scr and I get
<jd:Application><oslc:publisher rdf:resource="http://clm.example.com:9080/ccm/application-about"/>
<jd:contextRoot>http://clm.example.com:9080/ccm</jd:contextRoot>
<jd:rootServices rdf:resource="http://clm.example.com:9080/ccm/rootservices"/>
again notice the 9080. Same goes for qm. Although admin and rm appear to be OK.
Looking at ccm scr.xml, file, it contains things like "%server-URL%" which I assume is clm.example.com:9080. I assume that apache on one server and clm on another server will give same problem
I tried to set it to %CONTEXT_ROOT% like in admin/scr.xml but results are worse.
The question:
Is it possible to use apache as reverse proxy to clm running tomcat? If so, any documentation on how?
Many thanks
I am trying to set up apache as reverse proxy to CLM2012 running Tomcat. As proof of concept both are installed on the same Linux box. I don't have a CA certificates so I removed SSL from CLM (modified tomcat/conf/server.xml, tomcat/webapps/<app>/WEB-INF/web.xml etc). I also added proxyName="clm.example.com" and proxyPort="80" to server.xml.
Apache answers http://clm.example.com no problem.
CLM answers http://clm.example.com:9080/jts/setup no problem.
My proxy settings are as follows:
SetOutputFilter INFLATE;DEFLATE
ProxyPass /jts/ http://clm.example.com:9080/jts/
ProxyHTMLURLMap http://clm.example.com:9080/jts /jts
ProxyPass /ccm/ http://clm.example.com:9080/ccm/
ProxyHTMLURLMap http://clm.example.com:9080/ccm /ccm
ProxyPass /qm/ http://clm.example.com:9080/qm/
ProxyHTMLURLMap http://clm.example.com:9080/qm /qm
<Location /jts/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLExtended On
ProxyHTMLURLMap / /jts/
</Location>
<Location /ccm/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLExtended On
ProxyHTMLURLMap / /ccm/
</Location>
<Location /qm/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLExtended On
ProxyHTMLURLMap / /qm/
</Location>
I can go to http://clm.example.com/jts/setup, log in as ADMIN and carry on set up no problem until "register applications" screen, when I get errors "Unable to load /jts/proxy?uri=http%3A%2F%2Fclm.example.com%3A9080%2Fccm%2Fapplication-about status:403" (Notice the 9080).
I also tried to have a look at http://clm.example.com/ccm/scr and I get
<jd:Application><oslc:publisher rdf:resource="http://clm.example.com:9080/ccm/application-about"/>
<jd:contextRoot>http://clm.example.com:9080/ccm</jd:contextRoot>
<jd:rootServices rdf:resource="http://clm.example.com:9080/ccm/rootservices"/>
again notice the 9080. Same goes for qm. Although admin and rm appear to be OK.
Looking at ccm scr.xml, file, it contains things like "%server-URL%" which I assume is clm.example.com:9080. I assume that apache on one server and clm on another server will give same problem
I tried to set it to %CONTEXT_ROOT% like in admin/scr.xml but results are worse.
The question:
Is it possible to use apache as reverse proxy to clm running tomcat? If so, any documentation on how?
Many thanks
One answer
You need to also specify this so that the hostname from the public URI is passed to the application:
Additionally, I had trouble trying to use SSL between the client and proxy but not between the proxy and application. Using SSL between the proxy and application seemed to work, however.
ProxyPreserveHost onYou may also find this article helpful: Configuring Enterprise CLM Reverse Proxies: Apache and mod_proxy
Additionally, I had trouble trying to use SSL between the client and proxy but not between the proxy and application. Using SSL between the proxy and application seemed to work, however.
Comments
Ralph Schoon
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER Aug 22 '12, 10:46 a.m.Hi Lewis,
the system requirements https://jazz.net/library/article/811#HTTP_Reverse_Proxy_Support states: Apache Server 2.2.19 on RHEL and SLES [Non-secure Only (no HTTPS)]. I have not found a configuration and would be interested if you share should you find out what is wrong. I tried on windows with SSL and never got it to work. I did not try without SSL/HTTPS.