Support thousands of internal web servers without lifting a finger
Suppose you have a large private network hiding from the Internet behind a NAT router. Your network layout looks something like Figure 8-3.
Figure 8-3. Typical corporate lans use private addressing internally and at least one Internet gateway providing Network Address Translation.
You want to be able to allow anyone on your private network to set up their own web server. But like all good network administrators, you are smart and lazy and don't want to fiddle with updating forwarding rules on your firewall every time someone needs to make a change. Through the careful use of named virtual hosts, mod_proxy, and mod_rewrite, you can reduce the administrative overhead of your entire network to simple DNS updates. Then there is little keeping you from delegating that responsibility to the departments that wanted the web servers in the first place.
To start, you'll need Apache running on your gateway machine, with mod_rewrite and mod_proxy installed. You'll also need a DNS server running your own top-level internal domain (as discussed in [Hack #80]). We'll assume that you own the Internet domain shelbyville.com, and have the internal TLD of .springfield already set up, serving your internal machines.
Add the following to the Apache configuration ...