Как организовать локальные домены при разработке?

Аркадий Саленков
Аркадий Саленков
  • Сообщений: 4
  • Последний визит: 22 мая 2025 в 21:24

Я создаю приложение на базе DST Platform V2, с фронтендом и API. Фронтенд запрашивает данные у API и отображает их. Всё это работает в Docker.

Фронтенд доступен по адресу localhost:3000, а API — по localhost:3001. Однако обращаться к API с фронтенда по localhost:3001 неудобно и иногда невозможно.

Хочется иметь локальный домен для API, например, api.mysite.dev. Для этого нужно прописать это название в nginx и файле /etc/hosts.

Но возникает другая проблема: браузеры не работают по http и перенаправляют на https.

Хотелось бы узнать, какие есть удобные и распространённые практики организации такой разработки. Как лучше всего это сделать?

Виталий Науменко
Виталий Науменко
  • Сообщений: 7
  • Последний визит: 27 мая 2025 в 13:18

>> Frontend работает на localhost:3000.

>> API доступен по адресу localhost:3001.

Эти адреса действуют вне Docker. Внутри контейнера они используют формат «service_name:port». Это позволяет приложениям взаимодействовать друг с другом без обращения к внешним сервисам. Для упрощения можно использовать алиасы в файле docker-compose.yml.

Обратите внимание на этот важный мануал: docs.docker.com/compose/how-tos/networking/.

Юрий Туляков
Юрий Туляков
  • Сообщений: 3
  • Последний визит: 27 мая 2025 в 13:04

Используемые практики:

1. внутренняя зона DNS и внутренний CA для выпуска wildcard сертификатов.
Внешняя DNS зона и Let's encrypt или купленный wildcard сертификат для нее.

Игорь Симонян
Игорь Симонян
  • Сообщений: 13
  • Последний визит: 27 мая 2025 в 13:06

Я обычно поднимаю ещё один контейнер с nginx, который слушает порты 80 и 443 на хосте и раскидывает запросы в разные контейнеры по доменам или по локейшенам.

Чтобы не прописывать вручную в hosts домены, когда сервисов много, использую nip.io

Такие же домены назначаю как hostname контейнерам, для единообразия.

А чтобы не писать однотипные конфиги nginx — hub.docker.com/r/jwilder/nginx-proxy/

Для управления самоподписанными сертификатами для разработки есть github.com/FiloSottile/mkcert

Авторизуйтесь, чтобы писать на форуме.

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон