将域名 proxy_pass 更改为 ip

将域名 proxy_pass 更改为 ip

我使用了反向代理,但看到 nginx 日志,它将地址更改为 ip,并且它不起作用,因为目标服务器是 vhost,并且它只适用于域。

location  = /video {
    resolver 8.8.8.8;
    if ( $arg_net != "" ) {
        proxy_pass https://$arg_net.serverA.com;
    }
    proxy_redirect off;
  }

我在 nginx 日志中看到

... upstream: "https://[2a02:2518:4:3875::d]:443/video?net=...

我怎样才能仅将其与域名一起使用?

答案1

这就是proxy_set_header存在的原因,你需要

proxy_pass https://$arg_net.serverA.com;
proxy_set_header Host "$arg_net.serverA.com";

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/#passing-request-headers

相关内容