Узнайте, как использовать Podman и Nginx для работы с приложениями из разных доменов на одном хосте
Управление разными приложениями из разных доменов на одном хосте может быть затруднено при использовании разных портов. Когда коллега предложил мне написать статью об использовании Podman для решения этой проблемы, возможно, с использованием обратного прокси-сервера, я ухватился за этот шанс.
Скачать сейчас (англ.): шпаргалка по основам Podman
Недавно я написал статью о настройке контейнера для автоматического запуска в качестве службы systemd, которая расширила идею из моей предыдущей статьи о создании быстрых, простых, воспроизводимых контейнеров с помощью Podman и сценариев оболочки. Благодаря моему коллеге Джейсону я расширяю ещё одну идею: в этой статье я объясню, как использовать Podman и Nginx для работы с приложениями из разных доменов на одном хосте.
Основные предположения
Почему для этого предлагаемого сценария необходим обратный прокси-сервер? Из-за присущего Podman способа работы. Для пояснения рассмотрим следующий сценарий.
В традиционной среде для выполнения определённого веб-приложения вы, вероятно, выделили бы отдельный сервер со всеми необходимыми веб-инструментами для этого приложения. Этому приложению будет присвоено полное доменное имя (FQDN), которое, в свою очередь, будет отвечать определённому DNS-серверу и серверу домена. Чтобы второе или третье приложение отвечало на разные DNS-серверы и серверы доменов, вы, вероятно, проделаете те же шаги с серверами, выделенными для каждого приложения. Мне не нужно говорить, насколько это трудоёмко, утомительно, утомительно и непрактично.
Теперь, когда вы путешествуете по океану контейнеров, вы знаете, что можете делать то же самое, используя только один хост и несколько контейнеров, работающих на разных высоких портах на одном хосте. Это прекрасное решение для большинства ваших проблем с инфраструктурой. Но теперь у вас новая дилемма: каждый новый контейнер, который вы запускаете в другом домене, использует другой порт на вашем хосте для связи с внешним миром, поэтому вы должны управлять несколькими разными портами для каждого приложения. Теперь вы снова в том же утомительном месте, откуда начали.
Вы знаете, что есть несколько решений, предлагающих решить именно этот тип проблемы, так называемые обратные прокси. Но как заставить его работать с Podman и его различными контейнерами внутри вашего хоста? Эта статья ответит на этот вопрос!
Я покажу, как использовать Nginx, чтобы приложения, отвечающие на разных доменах, использовали один и тот же порт на вашем хосте для связи с внешним миром. Для краткости я опущу некоторые базовые этапы настройки, но не основные.
Познакомиться с Podman в этом учебном сценарии.
Продолжение следует...
Перевод. Автор оригинала: Alexon Oliveira.