• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

mod_proxy: reverse proxy in Plesk-controlled apache server returns HTTP 500

ronv

Basic Pleskian
Hi,

I'm trying to configure reverse proxy rules in vhost.conf. I have Apache-2.2.8 on Ubuntu-8.04 (monitored by Plesk-10.4.4). I'm encountering a HTTP 500 error, which I don't see with exactly the same configuration on my local system. Could there be any Plesk-specific issues involved that need to be addressed to allow for reverse proxying?

What I'm trying to achieve is defining a reverse proxy rule that defers all traffic to -say- <http://mydomain/tomcat/> to the Tomcat server running on port 8080. I have mod_rewrite and mod_proxy loaded in Apache. As far as I understand mod_proxy docs, entering following rules in /var/www/vhosts/mydomain/conf/vhost.conf should work:

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

RewriteEngine on
ProxyRequests off
RewriteRule ^/tomcat/(.*)$ http://mydomain:8080/$1 [P]

(Note: I tested with a RewriteRule directive to get at least some logging.) Yet, I am getting a HTTP 500: internal server error when requesting above URL.

I have made mod_rewrite log extensively, and find following entries in the logs:

81.241.230.23 - - [19/Mar/2012:16:42:59 +0100] [mydomain/sid#b06ab8][rid#1024af8/initial] (2) init rewrite engine with requested uri /tomcat/testApp/
81.241.230.23 - - [19/Mar/2012:16:42:59 +0100] [mydomain/sid#b06ab8][rid#1024af8/initial] (3) applying pattern '^/tomcat/(.*)$' to uri '/tomcat/testApp/'
81.241.230.23 - - [19/Mar/2012:16:42:59 +0100] [mydomain/sid#b06ab8][rid#1024af8/initial] (2) rewrite '/tomcat/testApp/' -> 'http://mydomain:8080/testApp/'
81.241.230.23 - - [19/Mar/2012:16:42:59 +0100] [mydomain/sid#b06ab8][rid#1024af8/initial] (2) forcing proxy-throughput with http://mydomain:8080/testApp/
81.241.230.23 - - [19/Mar/2012:16:42:59 +0100] [mydomain/sid#b06ab8][rid#1024af8/initial] (1) go-ahead with proxy request proxy:http://mydomain:8080/testApp/ [OK]

This suggests that the rewrite and proxy part are processed ok; still the proxied request produces a 500 error. Addressing the testApp directly via <http://mydomain:8080/testApp> does work, and the same setup does work on my local computer. Also, defining a proxy rule to another domain gives the same result, e.g:
ProxyPass /google/ http://www.google.be/
ProxyPassReverse /google/ http://www.google.be/
Gives the same HTTP 500 error for requests for <http://mydomain/google/>.

Does anyone have an idea what might be wrong, or how I at least can get more useful information than 'internal server error' (apart from above rewrite logs, I can't find any trace of this request in any other logs, which is quite maddening).

I'm rather desperate, any pointers much appreciated!

Ron
 
FWI, it appeared that I had overlooked to enable mod_proxy_http in Plesk's Apache server. Hence, the issue could be fixed by enabling mod_proxy_http (alongside mod_proxy).

Ron
 
Back
Top