Может ли DNS указывать на конкретный порт?

14

У меня есть виртуальная машина на каком-то сервере, и мой URL выглядит примерно так.

111.11.11.111:8002

Могу ли я получить DNS, который будет указывать на конкретный порт?

Еще кое-что. Если я не могу этого сделать, может ли моя виртуальная машина на сервере быть поддоменом DNS этого сервера?

Иван Вулович
источник

Ответы:

18

DNS не имеет понятия портов для более старых протоколов, таких как HTTP, HTTPS и SSL. DNS указывает только на IP-адрес.

Порт для подключения к конкретной службе определяется соглашением . Например, порт по умолчанию для HTTP - 80, порт по умолчанию для HTTPS - 443, а порт по умолчанию для SSH - 22.

Единственный способ переопределить порт по умолчанию - указать его в URL (или в командной строке для чего-то вроде SSH). Нет возможности указать номера портов в DNS. Если вы работаете с веб-сайтом, ваш сервер должен отвечать на HTTP-запросы на порт 80, если вы не хотите, чтобы в URL был уродливый номер порта.


Мне не совсем понятно, чего именно ты пытаешься достичь.

Если вы хотите запустить несколько сайтов на одном сервере, это обычно возможно. Вы можете запустить несколько сайтов из разных доменов или разных поддоменов на одном сервере. Вам нужно настроить виртуальные хосты , чтобы это работало.

Возможно, вам потребуется запустить второй сервер, на котором запущена другая технология (например, Tomcat для запуска Java или сервер Rails для запуска Ruby). В этом случае обычно подключают дополнительный сервер к основному серверу, используя обратный прокси-сервер, чтобы удалить номер порта из URL.

Если вы пытаетесь разместить свой сайт дома, а ваш интернет-провайдер блокирует порт 80, то вам не повезло. Ваши единственные варианты - найти другой хостинг или указать номер порта в URL.


Существует более новое нововведение, которое позволяет указывать номера портов в DNS: SRV Records . Однако записи SRV работают только с новыми протоколами, которые говорят, что используют поиск SRV в своей спецификации. Старые протоколы, такие как HTTP и HTTPS, будут продолжать использовать свои текущие номера портов и не будут поддерживать SRV.

Стивен Остермиллер
источник
У меня есть виртуальная машина на хосте с адресом www.something.com, но могу ли я получить mypage.something.com? Этот сервер имеет около 10 виртуальных машин и один DNS, могут ли наши виртуальные машины быть поддоменами
Иван Вулович,
Согласно этой статье каждая виртуальная машина должна иметь свой собственный IP-адрес. Если это так, то да, вы можете назначить поддомен виртуальной машине, указав IP-адрес в качестве Aзаписи DNS .
Стивен Остермиллер
3

Настройки PORT - это настройка на стороне хост-сервера, которая не имеет ничего общего с DNS. При указании домена или субдомена на IP хост-сервер будет управлять элементом порта через файл виртуального хоста.

Другими словами, просто поместите запись A в IP-адрес, а затем укажите файлу виртуального хоста, на каком порту работает сервер.

Саймон Хейтер
источник
1

Что вам нужно, так это динамический DNS (DDNS) с переадресацией портов, и большинство поставщиков услуг DDNS также предлагают переадресацию портов. Затем вы можете настроить свой домен что-то.something.com на 111.11.11.111:8002

Вы можете получить маршрутизатор с поддержкой DDNS, и если вы настроите его правильно, поддомен будет указывать на ваш домашний маршрутизатор, и оттуда вы также можете перенаправить порты.

Решения NatWeb
источник