There are 3 physical web servers in the local network, external IP and domain. Port 80 is forwarded to one of the web servers, the other two are only available on the local network. How can we configure the web server so that when we try to log in, for example, through the mail.domain.com subdomain, which is physically on the second web server ( domain.com is loaded from the first server), you can get the site from this second web server (and all same for third and subsequent) which is available only on the local network.

Tell me which way to dig, what topics. Maybe there is a link to something similar.

  • one
    Nginx can use different backends for different domain names. We forward the port to nginx, and it already forwards the request to the correct server. - user194374

1 answer 1

for example, this can be done using an http server that can proxy http requests.

That configuration, as you require, is often called reverse proxying (this is a special case of proxying).

A list of the most common proxy server implementations :

  • 3proxy (BSD, multiplatform)
  • CoolProxy (proprietary, Windows)
  • Eserv (shareware, Windows)
  • HandyCache (shareware, Windows) is free for home use.
  • Kerio Control (proprietary, Windows, Linux)
  • Microsoft Forefront Threat Management Gateway, formerly Microsoft ISA Server (proprietary, Windows)
  • Blue Coat Proxy SG (hardware / virtual appliance)
  • nginx (web server with reverse proxy mode and often used for this)
  • Squid (GPL, multiplatform)
  • Traffic Inspector (proprietary, Windows)
  • UserGate (proprietary, Windows)
  • Internet Control Server (shareware, FreeBSD)
  • TOR (BSD, multiplatform)
  • Ideco ICS (proprietary, Linux)
  • WinGate (proprietary, Windows)
  • Cntlm (with authorization)

but the most frequently used (especially for reverse proxying ), perhaps, is nginx . literature can be viewed, for example, in the description of the tag.