Как сопоставить публичные домены с сайтами, размещенными в Docker на Synology NAS?
Этот вопрос касается управления / администрирования программного обеспечения сервера в бизнес-среде, поэтому я надеюсь, что это не по теме.
Мы планируем перенести некоторые из наших веб-сайтов в Docker, работающий на нашем Synology NAS. Тем не менее, сайты, работающие в Docker, имеют номера портов, например 32153. Мы должны иметь возможность сопоставить конкретный домен с конкретным портом, но они выглядят так, как будто сайт фактически работает на порту 80 для HTTP и 443 для HTTPS.
Например, site1
может быть запущен в докере под портом 32100
и доступен через http://10.0.0.1:32100/. Однако мы хотим, чтобы он был доступен через http(s)://www.mysite1.com:80(:443).
Наконец, если возможно, я бы хотел, чтобы каждый из этих сайтов имел один и тот же IP-адрес.
Я рассмотрел вопрос о настройке обратного прокси-сервера, такого как модуль перезаписи IIS в Windows, но по возможности предпочел системный метод.
Как бы мы включили этот тип отображения в Synology или через стандартные функции Unix?
если ты
2 ответа
Как оказалось, в Synology есть встроенная функция обратного прокси, которая позволяет отображать хосты и порты, как я описал в своем вопросе:
Я уверен, что есть способ сделать все это с помощью Unix CLI, но это решает мою проблему.
Экземпляры Docker nginx/apache выполняются внутри порта 80/443, но могут быть сопоставлены со случайными номерами портов на хосте. Или вы можете сопоставить их с портом 80/443. См. Документацию: https://docs.docker.com/config/containers/container-networking/.
Также, пожалуйста, поделитесь своей конфигурацией, если вы не можете заставить что-то работать.