NGINX 运行 同一端口上的多个应用程序具有不同的路由路径

NGINX Run multiple application on same port with different route path

我有两个应用程序,app1 是在 reactJS 中开发的,app2 在 angularJS 中共享相同的登录会话,

 - Application 1
http://application-1:1234/
 - APplication 2
http://application-2:2345/

我的需求是在两个应用程序之间进行无缝导航,因为它们共享相同的登录凭据。

我已经创建了 NGINX 反向代理配置,

server {
    listen 8080;
    server_name http://global-ip:8080;
    location / {
        proxy_pass http://application-1:1234;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
     }
    location /application-2 {
        proxy_pass http://application-2:2345;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
     }

}

由于上述配置仅适用于第一个默认根路径。另一个 /application-2 无法重定向到指定路径。

任何帮助将不胜感激。

谢谢 普拉文 T

作为快速破解,请尝试其中之一

location /application-2/ {
    proxy_pass http://application-2:2345/;
    ...
}

location /application-2/ {
    rewrite ^/application-2(.*)  break;
    proxy_pass http://application-2:2345;
    ...
}

但您最好根据您的 URI 前缀构建您的 angular 应用,请参阅说明 。那么您的原始配置应该会按预期工作。