Nginx:poxy_将不同的位置传递到不同的端口

n1bvdmb6  于 2023-04-20  发布在  Nginx
关注(0)|答案(1)|浏览(125)

所以基本上,我想将根位置(即**www.domain.com/)传递到一个端口,并将所有其他路由(即www.domain.com/***)传递到另一个端口。现在我所做的是:

server {
        listen 80;
        listen [::]:80;

        server_name www.domain.com;
        location /pricing {
                proxy_pass http://localhost:4025;
        }

        location / {
                proxy_pass http://localhost:4033;
        }
}

它可以工作,但我确实有其他路线,如 * 定价 * 和子路线,如果我导航到这些路线,它不会像预期的那样工作。因此,是否有任何全局解决方案,如:

location @other {
                    proxy_pass http://localhost:4025;
}

更新:

我已经这样做了,它解决了我的问题,但它可行吗?

server {
    listen 80;
    listen [::]:80;
    
    server_name www.domain.com;

    location ~ [/](assets)(.*) {
                proxy_pass http://localhost:4025;
        }

    location ~ [/]((stylesheets)|(javascripts)|(images)|(fonts))(.*) {
                proxy_pass http://localhost:4033;
        }
    
    location ~ [^\/](.*) {
        proxy_pass http://localhost:4025;
    }

    location / {
                proxy_pass http://localhost:4033;        
    }
}
kg7wmglp

kg7wmglp1#

最简单快捷的解决方案:

server {
    listen 80;
    listen [::]:80;
    
    server_name www.domain.com;
    
    location ~ [^\/](.*) {
        proxy_pass http://localhost:4025;
    }

    location / {
                proxy_pass http://localhost:4033;        
    }
}

相关问题