gpt4 book ai didi

django - 无效的 HTTP_HOST header : 'localhost:90,localhost:90' . 根据 RFC 1034/1035 提供的域名无效

转载 作者:行者123 更新时间:2023-12-03 23:36:06 25 4
gpt4 key购买 nike

我正在尝试为 Django 项目配置 nginx 和 Gunicorn。 nginx 给了我以下错误:

DisallowedHost at /
Invalid HTTP_HOST header: 'localhost:90,localhost:90'. The domain name provided is not valid according to RFC 1034/1035.

这是我的nginx配置
    server {

listen 90;
listen [::]:90;

server_name xxxx;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/user/djangopro/djangoapp;
}

location / {
include proxy_params;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_buffering off;
proxy_redirect off;

proxy_pass http://localhost:8200/;
}
}

Gunicorn 正在 localhost:8200 上正确地为网站提供服务.谁能告诉我是什么导致了错误?

最佳答案

我遇到了同样的错误。我猜你可能是从 Flask 转换到 Django 的?如果删除 proxy_set_header Host $http_host;从您的配置行,它应该可以工作(它修复了我的错误)。我认为这样做是将请求的 ip 地址和代理 ip 地址堆叠在一起,而 Django 只想要一个 ip 地址,而不是一个列表。请参阅此 Django 票证:https://code.djangoproject.com/ticket/28028

我猜你已经弄明白了(因为已经几个月了),但我仍在回答以节省我刚刚用谷歌搜索的 2 个小时:)

编辑:我想澄清一下,问题来自于 include proxy_params;proxy_set_header Host $http_host;放。默认proxy_params已经有了 proxy_set_header Host $http_host;包括,所以它会设置主机两次,因此是两个主机的列表。看proxy_params文件在 /etc/nginx/proxy_params如果您使用的是 Ubuntu(在其他机器上将是类似的路径)。

关于django - 无效的 HTTP_HOST header : 'localhost:90,localhost:90' . 根据 RFC 1034/1035 提供的域名无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43761587/

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