Nginx 重定向到动态路径

Nginx 重定向到动态路径

背景 我有两个 Web 应用程序实例,希望它们可以在mydomain.com/和处访问mydomain.com/staging/。我已将 nginx 配置为根据路径将请求代理到适当的实例,但是当在暂存实例中单击链接时,路径(在 HTML 中)指向非暂存应用程序。

我拥有的 我想配置 nginx,以便每当使用 referrer 发出 http 请求时,将请求代理到暂存环境mydomain.com/staging/...。我有这么多工作要做。

我需要的 我需要将请求重定向到正确的 /staging url。我无法弄清楚如何example.com/<all this>从请求的 url 中获取()路径并将其附加到我的 /staging 路径以进行重定向。这是我的配置的相关部分。

location @puma {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_redirect off;

  # if mydomain.com/products/1 is requested with a /staging referrer
  # I need to redirect to /staging/products/1 instead of always /staging/

  if ($http_referer ~* /.*\.com/staging$ ) {
    set $request_url /staging/; 
    return 301 $request_url;
  }
  proxy_pass http://puma_production;
}

相关内容