Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Choosing between mod_proxy and mod_rewrite

If you're connecting an Apache httpd server to an Apache Tomcat server, you can do so via proxied http requests - i.e. have your customer facing http server relay the request on, perhaps having modified it, to Tomcat and then passing the response back. Two different Apache modules give you the facility - mod_proxy and mod_rewrite.

With mod_proxy, You specify the start of the URL and how it is to be replaced in the proxy request, and it forwards on that basis:

ProxyRequests Off
<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>
ProxyPass /jd http://192.168.200.1:8882/latmjdemo
ProxyPassReverse /jd http://192.168.200.1:8882/latmjdemo


With mod_rewrite, you use a regular expression instead, and you must use a [P] modifier to trigger the request to be proxied onward rather that written forward within the same server, for example:

RewriteEngine On
RewriteRule je/(.*) http://192.168.200.1:8882/latmjdemo/$1 [P,L]


Which is best? mod_proxy is simpler, and you can (in Apache http2 2.2) also use mod_proxy_balancer to share the forwarding to different proxy servers. mod_rewrite has more flexibility and can be used if you want to share servers, but forward all visits that form part of the same session to the same server in the pool to provide you with practical load balancing.

We cover this subject briefly on our Deploying Apache httpd and Tomcat course and can cover it in more depth on private courses. (The sample configurations above happen to come from a private course I was giving today!)

See also:
Load balancing with mod_jk
A comparison between http, ajp and https protocols

(written 2007-10-02, updated 2008-02-23)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
A900 - Web Application Deployment - Tomcat - Extra Features
  [934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
  [1006] Apache httpd and Apache Tomcat together tips - (2006-12-24)
  [1121] Sharing the load with Apache httpd and perhaps Tomcat - (2007-03-29)
  [1370] Apache Tomcat Performance Tuning - (2007-09-29)
  [1377] Load Balancing with Apache mod_jk (httpd/Tomcat) - (2007-10-02)
  [1383] Monitoring mod_jk and how it is load balancing - (2007-10-07)
  [1896] Virtual Hosts and Virtual Servers - (2008-11-20)
  [1899] Virtual Hosting under Tomcat - an example - (2008-11-22)
  [1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
  [3018] Tuning Apache httpd and Tomcat to work well together - (2010-10-27)

A655 - Web Application Deployment - Using Tomcat and Apache httpd Together
  [436] Linking Apache httpd to Apache Tomcat - (2005-09-05)
  [576] Why run two different web servers - (2006-01-25)
  [631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
  [1549] http, https and ajp - comparison and choice - (2008-02-22)
  [1552] Extra public classes in deploying Apache httpd and Tomcat - (2008-02-24)
  [1771] More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24)
  [1938] Predictive Load Balancing - PHP and / or Java - (2008-12-13)
  [1940] URL rewriting with front and back servers - (2008-12-14)
  [1944] Forwarding session and cookie requests from httpd to Tomcat - (2008-12-14)
  [2482] Load balancing with sticky sessions (httpd / Tomcat) - (2009-10-29)
  [3999] Handling failures / absences of your backend server nicely - (2013-02-08)

A608 - Web Application Deployment - Apache httpd mod_proxy
  [1566] Strange behaviour of web directory requests without a trailing slash - (2008-03-06)
  [1767] mod_proxy and mod_proxy_ajp - httpd - (2008-08-22)
  [2062] Virtual hosting and mod_proxy forwarding of different domains (httpd) - (2009-03-01)
  [2273] Three recent questions on Tomcat Convertors - (2009-07-07)
  [2325] Apache, Tomcat, mod_proxy - (2009-08-06)
  [3293] Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat) - (2011-05-18)
  [3339] Simplest ever proxy configuration? - (2011-06-28)
  [3680] How can I run multiple web servers behind a single IP address? - (2012-04-02)
  [3892] Distributed, Balanced and Clustered Load Sharing - the difference - (2012-10-13)

A607 - Web Application Deployment - Apache httpd mod_rewrite
  [755] Using different URLs to navigate around a single script - (2006-06-11)
  [1009] Passing GET parameters through Apache mod_rewrite - (2006-12-27)
  [1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
  [1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
  [1636] What to do if the Home Page is missing - (2008-05-08)
  [1731] Apache httpd, MySQL, PHP - installation procedure - (2008-08-01)
  [1778] Pointing all the web pages in a directory at a database - (2008-08-30)
  [1954] mod_rewrite for newcomers - (2008-12-20)
  [2094] If you have a spelling mistake in your URL / page name - (2009-03-21)
  [2555] Bookkeeping - (2009-12-29)
  [2728] Redirecting a home page using mod_rewrite - (2010-04-17)
  [2768] Carrying a long URL around - looking for memorable shorts - (2010-05-17)
  [2773] Dynamically watching your web site via a PHP wrapper - (2010-05-21)
  [2900] Redirecting a page - silent, temporary or permanent? - (2010-08-03)
  [2981] How to set up short and meaningfull alternative URLs - (2010-10-02)
  [3197] Finding and diverting image requests from rogue domains - (2011-03-08)
  [3568] Telling which ServerAlias your visitor used - useful during merging domains - (2012-01-04)
  [3753] Adding a passcode to a directory - (2012-06-05)
  [3862] Forwarding a whole domain, except for a few directories - Apache http server - (2012-09-17)


Back to
Python v Ruby
Previous and next
or
Horse's mouth home
Forward to
Load Balancing with Apache mod_jk (httpd/Tomcat)
Some other Articles
Static variables in PHP
Simple page password protection - PHP
Etag in http headers - what is it?
Choosing between mod_proxy and mod_rewrite
Python v Ruby
Maidenhead Coffee Challenge
New Month, New Quarter, New Laws
A taster PHP expression ...
Hotel in Melksham at Christmas
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1376_Cho ... write.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb