nginx 从代理服务器重定向到另一台服务器的路径

nginx 从代理服务器重定向到另一台服务器的路径

我需要解释一个问题。我需要将 nginx 反向代理的 PATH 内容的输出发送到驻留在另一台 nginx 服务器上的另一个域。清晰的解释:我有两个 Linux 服务器“A”和“B”,在第一台服务器“A”上,我有一个类似 docker 的 nginx,其配置如下:

server {
    listen       80;
    listen  [::]:80;
    server_name  example.com;
    location / {
        rewrite ^ https://$host$request_uri? permanent;
    }
}
server {
    listen       443 ssl http2;
    listen  [::]:443 ssl http2;
 
    server_name  example.com;
 
    ssl_certificate /etc/certs/x.pem;
    ssl_certificate_key /etc/certs/x.key;
    ssl_trusted_certificate /etc/certs/x.crt;
 
    location / {
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
 
      proxy_pass          http://docker-api;
      proxy_read_timeout  90;
    }
    location /path {
    ...Help!!
    }
}

**此服务器“A”正确地通过代理为 URL example.com 提供服务,并传递名为“docker-api”的 docker 内容。现在问题来了:我想将路径“example.com/path”中提供的所有内容重定向到位于服务器“B”的另一个名为“test.com”的域。

服务器“B”有另一个具有默认配置的 nginx:**

    listen       80;
    listen  [::]:80;
    server_name  test.com;
 
    location / {
        rewrite ^ https://$host$request_uri? permanent;
    }
}
server {
    listen       443 ssl http2;
    listen  [::]:443 ssl http2;
 
    server_name  test.com;
 
    ssl_certificate /etc/certs/x.pem;
    ssl_certificate_key /etc/certs/x.key;
    ssl_trusted_certificate /etc/certs/x.crt;
    location / {
    }
}

如何让服务器“A”上路径“example.com/path”中提供的内容完整地到达 URL“test.com”,并能够通过最后一个 URL 提供内容?我希望有人能帮助我,提前谢谢

相关内容