Nginx代理无法工作,返回400错误

cbwuti44  于 2022-11-02  发布在  Nginx
关注(0)|答案(1)|浏览(466)

因此,我有我的网站可用文件设置如下:

location / {
    proxy_pass http://localhost:3000/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}
location /legacy/ {
    proxy_pass https://my.domain.com/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host https://my.domain.com/;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_cache_bypass $http_upgrade;
 }

然而,每当我去my.domain.com/leagcy/,我得到一个400错误直接返回,没有重定向或代理发生。任何想法,我做错了什么?

sczxawaw

sczxawaw1#

您可能在server_name中使用了正则表达式,并且在发送请求时没有将Host头设置为任何值。
$host变量按以下优先级顺序包含:来自请求行的主机名,或来自“主机”请求头字段的主机名,或与请求匹配的服务器名
这会导致将无效的Host报头发送到上游。

相关问题