因此,我有我的网站可用文件设置如下:
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错误直接返回,没有重定向或代理发生。任何想法,我做错了什么?
1条答案
按热度按时间sczxawaw1#
您可能在
server_name
中使用了正则表达式,并且在发送请求时没有将Host
头设置为任何值。$host
变量按以下优先级顺序包含:来自请求行的主机名,或来自“主机”请求头字段的主机名,或与请求匹配的服务器名这会导致将无效的
Host
报头发送到上游。