Nginx返回400作为到外部URL的代理传递

Nginx返回400作为到外部URL的代理传递,nginx,Nginx,我正在尝试在我的Nginx中设置一个路由,该路由将代理请求到外部https资源。我的配置如下所示: server { listen 443 ssl; server_name x.x.com; location / { resolver 8.8.8.8; proxy_pass https://y.y.com$request_uri; proxy_ssl_server_name on; } } 现在,每当我尝试调用U

我正在尝试在我的Nginx中设置一个路由,该路由将代理请求到外部https资源。我的配置如下所示:

server {
    listen 443 ssl;
    server_name x.x.com;

    location / {
        resolver 8.8.8.8;
        proxy_pass https://y.y.com$request_uri;
        proxy_ssl_server_name on;
    }
}
现在,每当我尝试调用URL时,我会立即得到一个400

奇怪的是,在Nginx日志中,我一开始不会得到400的任何理由。仅在1分钟后,我将收到一条超时消息。(我的错误日志级别设置为info)


我的Nginx作为docker容器运行,使用Nginx:1.17

对于遇到类似问题的任何人,我最后通过添加

proxy_set_header Host y.y.com;
proxy_set_header X-Forwarded-For $remote_addr;
出于某种原因,服务器不喜欢具有默认x.x.com主机头的请求,并以400拒绝了它,这可能来自服务器端的某些Web服务器配置

proxy_set_header Host y.y.com;
proxy_set_header X-Forwarded-For $remote_addr;