Вот мои домашние настройки. У меня есть один IP-адрес, предоставленный моим провайдером. У меня есть один домен верхнего уровня (TLD) и несколько поддоменов, которые указывают на этот IP. Интернет входит через мой кабельный модем и подключается к маршрутизатору AdvancedTomato. Я хочу установить несколько веб-серверов на отдельных компьютерах и сделать так, чтобы маршрутизатор переадресовывал трафик на основе доменного имени. Вот основная картина
Internet
|
|
└── example.com-x.x.x.x(router)
├── machine1-192.168.1.101
│ ├── project11.example.com
│ └── project12.example.com
├── machine2-192.168.1.102
│ ├── project21.example.com
│ └── project22.example.com
└── machine3-192.168.1.103
├── project31.example.com
└── project32.example.com
Я смог сделать это уже на одной машине, используя базовую переадресацию портов на маршрутизаторе (все на 80-м порту идет на machine1), затем используя VirtualHost на Apache на этой машине, чтобы открывать различные веб-сайты.
Internet
|
|
└── example.com-x.x.x.x(router)
├── machine1-192.168.1.101
├── project11.example.com
└── project12.example.com
Мой вопрос: возможно ли это сделать на уровне маршрутизатора? Если нет, то как крупные сайты настраивают это?Я знаю, что HTTP находится на уровне приложения, и именно там находится запрос домена, так может ли маршрутизатор даже взглянуть на эту информацию? Нужен ли мне прокси-сервер?
Кроме того, это должно быть по вине сервера вместо этого?