Если для Веб-приложений, то один из лучших вариантов — можно использовать nginx на шлюзе со следующей конфигурацией:
server{
listen 80;
server_name app1.domain.com;
location / {
proxy_pass 10.0.0.1:80;
proxy_set_header Host $http_host;
}
}
server{
listen 80;
server_name app2.domain.com;
location / {
proxy_pass 10.0.0.2:80;
proxy_set_header Host $http_host;
}
}
server{
listen 80;
server_name app3.domain.com;
location / {
proxy_pass 10.0.0.3:80;
proxy_set_header Host $http_host;
}
}
Плюсы:
+ Если Вы ВДРУГ захотите перенести приложение например app1 например на хостинг, то проблем не будет, это можно будет сделать прозрачно.
+ Вы полностью отвязанны от физического размещения
+ Если вдруг одно из приложений будет слишком нагруженным, вы сможете его запускать на нескольких машинах и использовать балансировку, Кеширование, да и прочие вкусности nginxа.
Минусы:
— Все вышесказанное только для http