You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@cocoon.apache.org by do...@cocoon.apache.org on 2004/10/22 02:32:45 UTC
[Cocoon Wiki] Updated: ApacheModProxy
Date: 2004-10-21T17:32:45
Editor: ScottKelley <sk...@yahoo.com>
Wiki: Cocoon Wiki
Page: ApacheModProxy
URL: http://wiki.apache.org/cocoon/ApacheModProxy
no comment
Change Log:
------------------------------------------------------------------------------
@@ -631,3 +631,76 @@
It's a good idea to limit access to the local machine and whatever IPs your debugging from.
+---
+
+Notes from ScottKelley
+
+
+ I have a slightly more complex setup than illustrated (Vignette Portal v4 running on Websphere v4). I don't have the luxury of all the static images being in one place. I use a few more mod_rewrite rules and a server map that I cribbed from some other examples. While not the most elegant, it does work for us.
+
+
+{{{
+ RewriteEngine on
+# for debugging
+#RewriteLog /tmp/mod_rewrite.log
+#RewriteLogLevel 1
+
+ ProxyRequests On
+
+# make sure the values in ProxyPassReverse match the dynamic one in RewriteMap file
+ ProxyPassReverse / http://10.0.0.1:9101/
+ ProxyPassReverse / http://10.0.0.1:9101/
+
+# Make sure that the virtual host name is passed through to the
+# backend servlet container for virtual host support.
+ ProxyPreserveHost On
+
+# Tell mod_mod proxy that it should not send back the body-content of
+# error pages, but be fascist and use its local error pages if the
+# remote HTTP stack is sending an HTTP 4xx or 5xx status code.
+ ProxyErrorOverride On
+
+ RewriteMap server rnd:/usr/local/apache/conf/server_pool.conf
+
+# make sure the status page is handled locally
+# and make sure no one uses our proxy except ourself
+ RewriteRule ^/apache-rproxy-status.* - [L]
+ RewriteRule ^(http|https)://.* - [F]
+
+#
+# The S=X lines are critical. Don't fubar them.
+#
+
+# send jsp to 'dynamic' servers
+# Vignette helpfully scatters them all around
+ RewriteRule ^/(.*\.(jsp))$ to://${server:dynamic}/$1 [S=5]
+
+# send site to 'dynamic' servers
+ RewriteRule ^/(site/(.*))$ to://${server:dynamic}/$1 [S=4]
+
+# send centric to 'dynamic' servers
+ RewriteRule ^/(centric/(.*))$ to://${server:dynamic}/$1 [S=3]
+
+# send binary to 'dynamic' servers
+ RewriteRule ^/(binary/(.*))$ to://${server:dynamic}/$1 [S=2]
+
+# send console to 'dynamic' servers
+ RewriteRule ^/(console/(.*))$ to://${server:dynamic}/$1 [S=1]
+
+# send the fat media to 'static' servers
+# we serve the little stuff locally from this apache instance -
+ RewriteRule ^/(fatmedia/(.*))$ to://${server:static}/$1
+
+# now proxy the rewritten rules to the right place
+ RewriteRule ^to://([^/]+)/(.*) http://$1/$2 [E=SERVER:$1,P,L]
+}}}
+
+
+The server_pool.conf file looks like. These addresses are actually hardware load balanced to many boxes.
+{{{
+dynamic 10.0.0.1:9101
+static 10.0.0.2:80
+}}}
+
+
+--