У меня есть ноутбук под управлением Linux Mint 18, на котором работает http-сервер на 80-м порту, хронограф на 8888, домашний помощник на 8123, красный узел 1880 и многое другое. Как я могу настроить либо на своем маршрутизаторе (openwrt), либо на самом сервере какую-либо переадресацию портов, которую homeassistant.server перенаправляет на:8123 и т.д. ... или, может быть, лучше, если подобает субдомен типа ха. to:8123, поэтому мне не нужно запоминать все разные порты.

1 ответ1

2

Короткий ответ: «Вы не можете». Когда в DNS есть некоторые механизмы для работы с портами, тезисы сильно зависят от протокола и обычно не используются.

Однако есть обходные пути.

Проще всего было бы настроить Apache в качестве обратного прокси. Протокол HTTP устанавливает соединение по заданному IP-адресу, а затем указывает домен. Используя модуль ProxyPass и виртуальные хосты на основе имен, вы можете затем перенаправить запрос на другой порт.

Очень грязная альтернатива (то есть, от сетевого POV ближе к тому, о чем вы просите) - привязать несколько IP-адресов к вашему mint box (то есть виртуальным интерфейсам), а затем сопоставить каждый поддомен с другим IP-адресом. Как только это будет сделано, вы сможете получить подходящее программное обеспечение для привязки к определенным IP-адресам на порту 80 или сбой, который использует iptables для перенаправления пакетов на основе IP-адреса назначения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .