带前缀的nginx proxy_pass应用程序

时间:2018-03-07 05:02:00

标签: nginx nginx-location

我需要为不同的用户提供相同应用程序的多个实例。 假设我有user1,user2和user3的用户。我的nginx.conf将如下所示。

server {    
    listen 80;
    server_name localhost;

    location /user1/ {
        proxy_pass http://myapp1;
    }

    location /user2/ {
        proxy_pass http://myapp2;
    }

    location /user3/ {
        proxy_pass http://myapp3;
    }
}

应用程序会多次来回重定向用户。 userX前缀在首次代理传递时丢失,下一次调用将发送到/.

我在docker容器中使用nginx并已在下面阅读并尝试过。

1 个答案:

答案 0 :(得分:0)

我只是按照下面的解决方法来完成我需要的工作。

upstream user1 {
    server myapp1;
}
upstream user2 {
    server myapp2;
}
upstream user3 {
    server myapp3;
}
server {    
    listen 80;
    server_name localhost;

    location / {
        //Used a lua script to identify the user
        proxy_pass http://$userX;
    }
}