根据baseURI将请求路由到多个服务

时间:2019-04-26 04:40:01

标签: nginx nginx-reverse-proxy nginx-config

我有多个服务在Nginx下运行。所有这些服务都在不同的端口上。

如何基于初始base URI将请求重定向到特定服务?

例如URL https://my-domain/serviceA/v1/schema到端口8181的{​​{1}} 和/v1/schemahttps://my-domain/serviceB/v1/api/schema的身份移至9191端口。

直到现在,我已经能够根据初始路径使用/v1/api/schema将请求转发到特定端口,但是无法从location中删除/serviceA/serviceB。 / p>

1 个答案:

答案 0 :(得分:0)

proxy_pass语句可以包含可选的URI组件。有关详细信息,请参见this document

例如:

location /serviceA/ {
    proxy_pass http://192.168.0.2:8080/;
    ...
}

URI组件是/语句的最后proxy_pass。 URI /serviceA/foo在通过上游之前已转换为/foo。在/值上使用尾随location进行正确翻译。