У меня есть сервер, на котором у меня есть несколько проектов, обслуживаемых напрямую через Nginx, который установлен в системе.
Но я начал мигрировать / создавать новые проекты с помощью Docker.
Проверьте файл составления Docker .Как вы видите, у меня есть jwilder / nginx-proxy впереди для прокси через контейнеры.
Чтобы получить доступ к Системе управления контентом, я бы хотел получить к ней доступ через content.my.test и увидеть клиентский интерфейсчерез my.test или my.test: 8080 (разработка), и GraphQL будет доступен через graphql.my.test.Кроме того, я могу видеть базу данных MongoDB через веб-браузер через my.test: 1234.
Локально - все вроде работает.У меня Dnsmasq запущен и работает, поэтому домены .test сопоставлены с localhost.Но это работает только в том случае, если Nginx или apache не запущены, т.е. доступен порт 80.
Локально я не понимаю пару вещей, например:
- почему я могу получить доступ к администратору MongoDB через graphql.my.test: 1234.Я ожидаю, что смогу получить к нему доступ только через my.test: 1234.
- то же самое относится и к my.test: 8080 - я вижу здесь приложение внешнего интерфейса, а также могу получить к нему доступ через мой.test или content.my.test: 8080.
- , а также graphql.my.test и graphql.my.test: 4000 отображают то же самое или content.my.test: 4000
Другая проблема возникает, когда я хочу выполнить эту настройку на сервере, где у меня уже запущено несколько приложений Nginx, поэтому порт 80 недоступен.Я пытался создать виртуальный хост на Nginx и прокси-сервер к прокси-докеру, но происходят некоторые странные вещи.Трудно объяснить, но единственное, к чему я могу получить доступ, - это панель администратора MongoDB через ее порт и MongoDB.Другие хосты субдоменов недоступны, но я добавил запись A на сервер и записи CNAME для каждого субдомена в записи DNS на GoDaddy.Пожалуйста, проверьте мой конфиг Nginx , может быть, я что-то здесь упускаю.Одна из самых страшных вещей, которая происходит в этом случае, заключается в том, что все домены, указывающие на этот сервер, визуализируют этот контент.
Итак, я хотел бы услышать некоторые подсказки, как правильно связать этот материал вместе, чтобы сервисы не мешали/ конфликтовать друг с другом.