gpt4 book ai didi

django - 无效的 HTTP_HOST header : The domain name provided is not valid -- requests to dockerized django app using container name

转载 作者:行者123 更新时间:2023-12-03 16:14:16 27 4
gpt4 key购买 nike

在由通过 docker-compose 运行的多个微服务组成的应用程序中,我需要一种方法来从一个容器(app 通过 flask 和请求)直接向另一个(chart/django)发出请求:

这是我正在尝试的简化版本。

路线.py:

@APP.route('/post_data', methods=['POST'])
def post_data():
post_data = request.get_json()
response = requests.post('http://chart_app_1:8080/json/', data=post_data)
return response.text

我得到的响应是一条错误消息:
django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'chart_app_1:8080'. The domain name provided is not valid according to RFC 1034/1035

我能够向运行 Flask 应用程序的其他容器发出这种请求,没有任何问题。不过,我无法控制我们是否将 Django 用于这个特定的微服务。

看来这可能是因为主机名中有下划线: see this post .有没有解决的办法?似乎必须可以在容器之间进行简单的请求。

最佳答案

在 docker-compose 文件中,修改服务名称以避免 Django 服务中的下划线。

这是我所知道的避免错误的唯一方法,因为它不是 Docker 限制而是 Django 问题。

关于django - 无效的 HTTP_HOST header : The domain name provided is not valid -- requests to dockerized django app using container name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52997543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com