Nginx 如何使用 proxy_pass 屏蔽 url 或将位置添加到 url

Nginx 如何使用 proxy_pass 屏蔽 url 或将位置添加到 url

当我将请求传递给上游服务器时,创建 URL 时遇到了一些问题。

基本上,我尝试设置的上游服务器上的 webapp 必须存在于 example.com/web 位置。我无法更改它。除了将 URL example.com 重写为 example.com/web 外,我一切正常。

我理想情况下希望屏蔽 /web 部分,以便用户只能看到 example.com,但至少让 Nginx 自动为用户添加 /web 会让我感到高兴。目前,我必须手动将 /web 添加到 URL 才能访问应用程序。

我当前的配置是:

  upstream app {
      server x.x.x.x:port;
  }

  server {
      listen 80;
      server_name example.com;

      location / {
          try_files $uri @backend;
      }

      location @backend {
          proxy_pass http://app;
          proxy_set_header Host $host;
      }
  }

任何帮助是极大的赞赏。

答案1

你应该看看官方文档http_rewrite_moduleNGINX 的。

有很多例子可以实现您想要实现的目标。

相关内容