Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 2

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.

share|improve this answer
    
So do you think it is a Cloud9 problem then? –  Seth Dec 1 '11 at 14:51
    
I think you need to troubleshoot and determine what actually happens. –  adaptr Dec 1 '11 at 14:52
    
Thanks, I am very new to all of this. Are there any good articles on how to troubleshoot the backend? –  Seth Dec 5 '11 at 15:48

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>
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.