Django в Docker на Nginx запрос к себе не проходит в контексте другого запроса

У меня есть приложение Django, развернутое в контейнере поверх Nginx с помощью Dokku. Одна из функций представления приложения Django включает в себя запрос:

views.py

def foo(request):
...
response = requests.get(url)
...

Вероятно, стоит отметить, что url - это url самого приложения Django, так что запрос идет от приложения к самому себе. Запрос к одной из конечных точек API (причины для этого исторические). Когда вызывается представление, запрос к url завершается неудачей с таймаутом 504 шлюза.

Я не могу воспроизвести это в любом другом контексте, а именно:

  • Нет ошибки при запуске на localhost с сервером разработки, где url - это url приложения разработки (localhost to itself работает).
  • При запуске на localhost с сервером разработки, где я вручную делаю url производственным url (localhost to production работает).
  • Ошибки нет.
  • При выполнении этого запроса на производственном сервере, но вне представления, ошибки нет. В частности, я выполнил docker exec в контейнер, запустил среду Django (оболочку manage.py) и выполнил точный запрос, который делало представление, и он сработал! (production to production works) Похоже, что только когда запрос выполняется в контексте представления, которое само отвечает на другой запрос, я получаю проблему.

Есть идеи?

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