Как заявил @Andriy, используя только IP, это невозможно.
Когда ваш компьютер подключается к server1.example.com
, он фактически разрешает это на IP-адрес, например: 123.123.123.123
.
Получив IP-адрес, он попытается подключиться к соответствующему порту на хосте 123.123.123.123
. На данный момент нет понятия « имя хоста » или DNS.
Если вы хотите добиться этого, то у вас есть два варианта:
- Различайте услуги, используя разные общедоступные IP-адреса.
- Различайте услуги, используя разные порты.
Вы уже заявили, что « не хотите, чтобы это было специфично для протокола », но (например), если бы вы использовали HTTP (S), это было бы возможно.
Это возможно только потому, что HTTP включает дополнительную информацию в свои заголовки, после подключения к хосту в 123.123.123.123
он говорит: « Пожалуйста, действуйте так, как будто я говорю с server1.example.com
».
Это просто подключиться к 123.123.123.123
и сказать « Пожалуйста, действуйте так, как будто я разговариваю с someotherhost.example.com
» - даже если этот хост не публично объявлен. Выполнение этого запроса зависит от вашей конфигурации.