我需要在Nginx的代理路径上做一个重定向



我正在使用一个架构奇怪的应用程序,我需要代理/并将其重定向到子目录(除非有人能想出更好的解决方案)。下面是应用程序使用的路径布局:

var securePaths = [
    "/someaction",
    "/anotheraction",
    "/athirdaction",
    "/client/interfaceishere/index.html" //path to client interface
];

正如你可以看到的地方,客户端接口与应用程序是两个级别,所以我需要一个重定向到那里。我不能在那里代理应用程序,因为它需要访问顶层路径,比如"/someaction"。我已经将nginx配置为代理应用程序,如下所示:

upstream socket_nodes {
  ip_hash;
  server 127.0.0.1:8080;
}
server {
  server_name myapp.example.com;
  listen 80;

  location / {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_pass http://127.0.0.1:8080;
  }
}

让用户访问"/client/interfaceishere/index.html"的最好方法是什么?

这个应用程序以前的用户通过框架解决了这个问题,这对我来说不是一个选择。

然后你需要拆分它,路径内的位置块,而不是传递所有的/。你首先需要思考并写下每条路径需要去的地方,然后使用"map"来重定向或/和位置块来处理事情。您可以使用位置块分别处理每个uri。

最新更新