Количество веб-сервисов, к которым необходим внешний доступ растет даже в небольших сетях, особенно с применением контейнеров, для которых обратный прокси становится необходимым элементом инфраструктуры.
Обычно задача решалась установкой Caddy/NGINX на отдельном сетевом узле или контейнере и пробросу на него веб-портов. Однако это дополнительный элемент инфраструктуры, который надо где-то размещать и отдельная точка отказа.
Кроме того, Mikrotik серьезно взялся за контейнеризацию и поэтому функция обратного прокси напрашивалась сама собой, что и было реализовано в обновлении RouterOS 7.22.
Данная возможность располагается в IP - Reverse Proxy и для создания нового проксирования вам нужно заполнить поля:
▫️ SNI – полное доменное имя (FQDN) сервиса, которое должно разрешаться в IP-адрес роутера
▫️ IP Address – внутренний IP-адрес сервиса
▫️ Port – внутренний порт сервиса
▫️ Сertificate – сертификат сервиса, который мы должны выбрать из установленных на устройство сертификатов.
👉 Если поле Сertificate не заполнено, то будет использоваться сертификат назначенный службе reverse-proxy в меню IP – Service.
👆 Также начиная с ROS 7.22 появился полноценный ACME-клиент, который упрощает получение и управление сертификатами.
❗️Обратите внимание, что служба reverse-proxy конфликтует с www-ssl и вам нужно либо отключить последнюю, либо поменять используемый ей порт.
В терминале для добавления прокси используйте команды:
/ip reverse-proxy
add sni=service1.example.com ip-address=192.168.1.100 port=8080 certificate=cert1
add sni=service2.example.com ip-address=192.168.1.101 port=3000 certificate=cert2
Для роутеров архитектуры ARM, ARM64 и x86 поддерживается протокол HTTP/2. Однако явных настроек протоколов и шифров нет. Как нет и никаких дополнительных опций.
По сути, перед нами базовый Reverse Proxy с ограниченными возможностями, но в большинстве случаев и сценариев типичных для небольших сетей этого более чем достаточно.
