Scenario ... from last week's Linux course. I have several web servers on my network which I want to make publicly available. However, I only have a single incoming IP address, so all incoming web requests go to a single computer in my network. What can I do about this?
Option 1 - keep all the web sites on one computer (it might be easier that way anyway, for robusteness / maintainance / security / uptime considerations) and use virtual hosting. You can find our virtual hosting resources
[here].
Option 2 - use an intelligent incoming router. But either this will need to be quite a sophisticated box which analyses the traffic coming in on port 80
or you'll have to use different port numbers for your various web servers and then you can rewrite them as they come in - so this means that the setup won't be transparent to external visitors.
Option 3 - have all web traffic coming to a single computer running Apache httpd with mod_proxy, forwarding traffic to each of the real servers on a per-domain basis. You can find our mod_proxy resources
[here].

Diagram showing how multiple web servers can be hosted on a network which itself has only a single world-accessible IP address
(written 2012-04-02, updated 2012-04-07)
Associated topics are indexed under
A608 - Web Application Deployment - Apache httpd mod_proxy [3892] Distributed, Balanced and Clustered Load Sharing - the difference - (2012-10-13)
[3339] Simplest ever proxy configuration? - (2011-06-28)
[3293] Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat) - (2011-05-18)
[2482] Load balancing with sticky sessions (httpd / Tomcat) - (2009-10-29)
[2325] Apache, Tomcat, mod_proxy - (2009-08-06)
[2273] Three recent questions on Tomcat Convertors - (2009-07-07)
[2062] Virtual hosting and mod_proxy forwarding of different domains (httpd) - (2009-03-01)
[1944] Forwarding session and cookie requests from httpd to Tomcat - (2008-12-14)
[1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
[1767] mod_proxy and mod_proxy_ajp - httpd - (2008-08-22)
[1566] Strange behaviour of web directory requests without a trailing slash - (2008-03-06)
[1376] Choosing between mod_proxy and mod_rewrite - (2007-10-02)
[1121] Sharing the load with Apache httpd and perhaps Tomcat - (2007-03-29)
[1006] Apache httpd and Apache Tomcat together tips - (2006-12-24)
[934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
[631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
A192 - Web Application Deployment - Firewalls [3679] Setting up your Linux system as a firewall using iptables - (2012-04-02)
[806] Check your user is human. Have him retype a word in a graphic - (2006-07-17)
[770] Splash! - (2006-06-20)
5683
Some other Articles
Once upon a Maundy ThursdayWeak references in Lua - what are they, and why use them?Melksham Business NewsreelKicking up a stink, the Victorian way?How can I run multiple web servers behind a single IP address? Potteries and Staffordshire in the SunshineSome advise for guest speakers at meetingsRising prices, changing habits and societySpring 2012