Доступ к приложению Django в контейнере Docker из другого контейнера Docker

Цель

У меня есть docker-compose.yml, на котором, помимо прочего, запущены три контейнера Docker, находящиеся в одной сети: приложение Django, Nginx и образ Selenium. Моя цель - иметь возможность тестировать приложение Django из контейнера Selenium.

Проблема

При попытке выполнить get-запросы из драйвера Selenium

driver.get("http://nginx:80")

Django отказывает в соединении на основании того, что хост запрещен. Я получаю:

Invalid HTTP_HOST header: 'nginx'. The domain name provided is not valid according to RFC 1034/1035.

Я попробовал добавить имя контейнера (Nginx) в переменную ALLOWED_HOSTS в settings.py, но он все равно почему-то не принимает его. Есть идеи?

Решение

Проще говоря, RFC 1034/1035 не допускает подчеркивания (_) в доменных именах, и, похоже, Django проверяет это. Я просто заменил их на дефисы (-), и проблема была устранена.

Вернуться на верх