Continuum

Can't use continuum behind https proxy

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.0.3
  • Fix Version/s: 1.1-alpha-1
  • Component/s: Web interface
  • Labels:
    None
  • Complexity:
    Intermediate
  • Number of attachments :
    1

Description

As noted in CONTINUUM-240, it's not currentlyy possible to run the continuum webapp behind an https proxy, as all the links are http://...

My apache setup is something along the lines of:

<VirtualHost xx.xx.xx.xx:443>
    SSLEngine on
    ProxyPass         /  http://localhost:8080/
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPreserveHost On
</VirtualHost>

and my jetty config:

<listeners>
              <http-listener>
                <port>8080</port>
              </http-listener>
            </listeners>

The links are correct, except that they have s/https/http/.

Why does the webapp need to use absolute links anyway?

Issue Links

Activity

Hide
David Roussel added a comment -

Can't you just go into http://localhost:8080/continuum/continuum/target/EditContinuumConfiguration.vm and change the Base URL to the https version?

Show
David Roussel added a comment - Can't you just go into http://localhost:8080/continuum/continuum/target/EditContinuumConfiguration.vm and change the Base URL to the https version?
Hide
Richard van der Hoff added a comment -

No; the Base URL is used when generating error report emails and so on, but not when generating the page content.

Show
Richard van der Hoff added a comment - No; the Base URL is used when generating error report emails and so on, but not when generating the page content.
Hide
Carlos Sanchez added a comment -

I think this is already fixed for 1.1

Show
Carlos Sanchez added a comment - I think this is already fixed for 1.1
Hide
Brian Fox added a comment -

I was able to work around this using the http proxy reverse. This scans outbound html and replaces urls. The standard mod_proxy only scans the headers so it won't correct embedded links.

Attached prebuilt module for Windows/Apache 2.0.55. The source can be obtained here:http://apache.webthing.com/mod_proxy_html/
I added this file to the 2.0.55 mod_proxy_http module and rebuilt so this can replace the standard mod_proxy_http.so

In the config below, i redirect /continum to another machine mapped to /ts. Then I have the htmlurl map set to look for the url that continuum will return in its links and map it back to /ts.

RedirectMatch /continuum /ts/continuum/servlet/continuum
ProxyRequests off
ProxyPass /ts/ http://10.0.5.251:8080/
ProxyHTMLURLMap http://continum-machine:8080 /ts
ProxyHTMLURLMap http://10.0.5.251:8080 /ts

<Location /ts/>
ProxyPassReverse /
SetOutputFilter proxy-html
ProxyHTMLURLMap / /ts/
ProxyHTMLURLMap /ts /ts
RequestHeader unset Accept-Encoding
</Location>

Show
Brian Fox added a comment - I was able to work around this using the http proxy reverse. This scans outbound html and replaces urls. The standard mod_proxy only scans the headers so it won't correct embedded links. Attached prebuilt module for Windows/Apache 2.0.55. The source can be obtained here:http://apache.webthing.com/mod_proxy_html/ I added this file to the 2.0.55 mod_proxy_http module and rebuilt so this can replace the standard mod_proxy_http.so In the config below, i redirect /continum to another machine mapped to /ts. Then I have the htmlurl map set to look for the url that continuum will return in its links and map it back to /ts. RedirectMatch /continuum /ts/continuum/servlet/continuum ProxyRequests off ProxyPass /ts/ http://10.0.5.251:8080/ ProxyHTMLURLMap http://continum-machine:8080 /ts ProxyHTMLURLMap http://10.0.5.251:8080 /ts <Location /ts/> ProxyPassReverse / SetOutputFilter proxy-html ProxyHTMLURLMap / /ts/ ProxyHTMLURLMap /ts /ts RequestHeader unset Accept-Encoding </Location>
Hide
Jesse McConnell added a comment -

emm, you got this working, right?

Show
Jesse McConnell added a comment - emm, you got this working, right?
Hide
Richard van der Hoff added a comment -

No.

Various people have got this to work with ProxyPassReverse; however installing the relevant modules on the proxy was not an option for me.

It may well be fixed for 1.1; I haven't tested.

Show
Richard van der Hoff added a comment - No. Various people have got this to work with ProxyPassReverse; however installing the relevant modules on the proxy was not an option for me. It may well be fixed for 1.1; I haven't tested.
Hide
Richard van der Hoff added a comment -

sorry, i mean ProxyHTMLURLMap, not ProxyPassReverse.

Show
Richard van der Hoff added a comment - sorry, i mean ProxyHTMLURLMap, not ProxyPassReverse.
Hide
Damon Rand added a comment -

Though I use continuum at home this is the primary issue stopping us from using it where I work.. Sorry I haven't tried the latest builds either though..

Show
Damon Rand added a comment - Though I use continuum at home this is the primary issue stopping us from using it where I work.. Sorry I haven't tried the latest builds either though..
Hide
Martin van den Bemt added a comment -

When was this fixed ? In current trunk it doesn't work..

Show
Martin van den Bemt added a comment - When was this fixed ? In current trunk it doesn't work..
Hide
Martin van den Bemt added a comment -

Please forget that last comment, it is working. With the move I just forgot to update portnumbers Sorry for the noise..

Show
Martin van den Bemt added a comment - Please forget that last comment, it is working. With the move I just forgot to update portnumbers Sorry for the noise..
Hide
Martin van den Bemt added a comment -

I will send in some documentation on how to get it working with jetty (didn't test if tomcat has the same problem, if I can make it generic, I can see if I can send a patch to continuum so it works out of the box).. When jetty redirects it constructs the Location header with the value of the absolute url, instead of the relative url.

Show
Martin van den Bemt added a comment - I will send in some documentation on how to get it working with jetty (didn't test if tomcat has the same problem, if I can make it generic, I can see if I can send a patch to continuum so it works out of the box).. When jetty redirects it constructs the Location header with the value of the absolute url, instead of the relative url.

People

Vote (2)
Watch (4)

Dates

  • Created:
    Updated:
    Resolved: