簡體   English   中英

從另一個 Docker 容器訪問 Docker 容器中的 Django 應用程序

[英]Accessing Django app in Docker container from another Docker container

客觀的

我有一個docker-compose.yml ,它運行三個位於同一網絡中的 Docker 容器:一個 Django 應用程序、一個 Nginx 和一個 Selenium 映像。 我的目標是能夠從 Selenium 容器測試 Django 應用程序。

問題

嘗試從 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)的名稱添加到settings.py中的ALLOWED_HOSTS變量中,但它仍然不接受它。 有任何想法嗎?

解決方案

簡而言之,RFC 1034/1035 不允許在域名中使用下划線 (_),似乎 Django 會對此進行檢查。 我只是將它們更改為連字符 (-),問題就解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM