Nginx 反向代理静态内容和相对传递问题

Nginx 反向代理静态内容和相对传递问题

我有下一个设置:

主服务器主页 和额外的独立服务器(additional.com),它应该通过代理从子页面 url 提供服务,并保持相对路径等。main.com/additional

但是,尝试使用位置块设置 proxy_pass 时,我无法实现相对路径,而且静态内容也无法加载。

以下是一些代码:

server {
  listen       80;
  server_name  main.com;

  resolver %RESOLVERS%;
  set $url "main.com$request_uri";
  set $url_additional "https://additional.com";

  if ($http_x_forwarded_proto = 'http') {
    return 301 https://main.com$request_uri;
  }

   location /additional {

         proxy_pass $url_additional;
     }

  location / {
     rewrite ^/$ /$lang;
     proxy_pass $url;
    }
  }

它尝试从 additional.com/additional 加载静态和索引,而不是从 additional.com 加载

我尝试使用 root 和 alias 以及一些其他参数,但没有任何帮助 :(

我错过了什么?

答案1

我按照以下方式操作:

location ~* ^/additional/(.*)$ {
    proxy_pass http://additional.com/$1$is_args$args;
}

相关内容