nginx 上游服务器路径“backend.example.com/serverfiles/”?

nginx 上游服务器路径“backend.example.com/serverfiles/”?

我想知道如何定义上游目录路径中的服务器值而不是子域或端口......

例如这不起作用:

upstream backend  {
  server backend1.example.com/**dir/** ;
  server backend2.example.com:8080;
}
 server {
  location / {
    proxy_pass  http://backend;
  }
}

有人知道我该怎么做吗?

此致。

答案1

一般情况下 Nginx 不会修改请求参数,包括get字符串。如果想在发往后端之前修改,则需要使用 rewrite。

例如:

 server {
  location / {
    rewrite ^(.*)$  /somedir/$1 break;
    proxy_pass  http://backend;
  }

这会添加/somedir/到该位置的每个请求中。浏览器中的实际 URL 不会被修改,只有发送到后端的请求才会被修改。

相关内容