我有多个服务在Nginx
下运行。所有这些服务都在不同的端口上。
如何基于初始base URI
将请求重定向到特定服务?
例如URL https://my-domain/serviceA/v1/schema
到端口8181
的{{1}}
和/v1/schema
以https://my-domain/serviceB/v1/api/schema
的身份移至9191
端口。
直到现在,我已经能够根据初始路径使用/v1/api/schema
将请求转发到特定端口,但是无法从location
中删除/serviceA
或/serviceB
。 / p>
答案 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
进行正确翻译。