1

I have reverse proxy setup(apache2) that points to a Cloud9 installation. The proxy is working correctly in that the Cloud9 Site comes up. But Cloud9 requires a specific browser version and states that the browser is not compatible. I have tested with the latest firefox and chrome.

I don't have very much experience with Apache and reverse proxies but my guess is that the proxy is obscuring the browser version. How do I forward this information on? or spoof a known working version?

Bart De Vos
  • 17,911
  • 6
  • 63
  • 82
Seth
  • 111
  • 1

2 Answers2

1

When reverse proxying to a backend server using apache's mod_proxy, the apache server performs standard RFC 2616-compliant HTTP Proxy requests to the backend server.

This means that the exact request data (method, headers and body) are passed through to the backend, with the addition of an X-Forwarded-For: header that contains the original client's IP.

Apache does not "make up" anything in the forwarded request.

Put a CGI page on the cloud9 backend that shows all request headers, then compare them with your browser headers.

adaptr
  • 16,576
  • 23
  • 34
1

The problem is with Cloud9 using absolute paths (not cool) in their HTML pages. If you open the developer tools in Chrome you can see a long list of 404 errors.

I worked around the problem by using some Apache rewrite rules:

My current Apache configuration:

 RewriteEngine On
 RewriteRule   ^/socket.io/(.*) /editor/socket.io/$1 [P]
 RewriteRule   ^/static/(.*) /editor/static/$1 [P]
 RewriteRule   ^/workspace/(.*) /editor/workspace/$1 [P]

 ProxyPass /editor/ http://127.0.0.1:3000/
 ProxyPassReverse /editor/ http://127.0.0.1:3000/
 <Proxy *>
   Order deny,allow
   Allow from all
 </Proxy>