Этот вопрос касается управления / администрирования программного обеспечения сервера в бизнес-среде , поэтому я надеюсь, что это не не по теме.

Мы планируем перенести некоторые из наших веб-сайтов на 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 Rewrite в Windows, но по возможности предпочитаю собственный системный метод.

Как бы мы могли включить этот тип сопоставления в Synology или с помощью стандартных функций Unix?

если ты

answer

Экземпляры Docker для nginx / apache выполняются внутренне через порт 80/443, но могут быть сопоставлены со случайными номерами портов на хосте. Или вы можете сопоставить их с портом 80/443. См. Документацию: https://docs.docker.com/config/containers/container-networking/#published-ports.

Также, пожалуйста, поделитесь своей конфигурацией, если вы не можете заставить что-то работать.

Как оказалось, в Synology есть встроенная функция обратного прокси , которая позволяет сопоставлять хосты и порты, как я описал в своем вопросе:

введите описание изображения здесь

Я уверен, что есть способ сделать все это с помощью Unix CLI, но это решает мою проблему.