20101111 reverse proxies good direct hosting from app servers bad - plembo/onemoretech GitHub Wiki

title: Reverse proxies good, direct hosting from app servers bad link: https://onemoretech.wordpress.com/2010/11/11/reverse-proxies-good-direct-hosting-from-app-servers-bad/ author: lembobro description: post_id: 113 created: 2010/11/11 10:19:21 created_gmt: 2010/11/11 10:19:21 comment_status: open post_name: reverse-proxies-good-direct-hosting-from-app-servers-bad status: publish post_type: post

Reverse proxies good, direct hosting from app servers bad

OK, so the title is a little hyperbolic.

For some reason an awful lot of folks don’t think that front-ending Weblogic and other app servers with a separate Apache instance is desirable.

That’s an interesting point of view, and may actually apply to low traffic sites with really simple apps.

But the advantages of having an HTTP proxy up in front of my app servers are something I’d be loathe to give up. More after the jump.

First of all, an HTTP proxy gives you a world of flexibility when it comes to security hardening. It also makes performance tuning a lot less complicated.

I also really like being able to do redirects and url munging at the web server layer, before things get to the app tier. Especially when software on the app server might interfere with such things once traffic gets there. For example, I’ve had interoperation problems between Oracle’s Universal Content Management (UCM) and the Weblogic proxy plugins on an Apache instance co-located with the UCM app server. UCM also plays havoc with attempts to do redirects or reverse proxies on a web server running the UCM plugin. For that reason I think a separate Apache proxy is an indispensable component in the design of any UCM environment.

Reverse proxies are an especially useful feature of Apache. In his 2006 article Boosting Apache Performance by using Reverse Proxies, Rene Pfeiffer made a forceful argument in favor of leveraging reverse proxies using Apache mod_expires and squid.

But Apache 2 now has a robust set of modules to do the job, including tried and true mod_proxy (which is all you need for a reverse HTTP proxy) and mod_proxy_http. The documentation even includes a comprehensive article on Caching in addition to the manual page for mod_cache.

Of course there are lots of other performance-enhancing tricks available with Apache. It’s always a good idea to consult the Performance Tuning page for basic strategies.

Copyright 2004-2019 Phil Lembo