【发布时间】:2019-04-26 16:37:27
【问题描述】:
我有多个服务在Nginx 下运行。所有这些服务都在不同的端口上。
如何根据初始 base URI 将请求重定向到特定服务?
例如对于 URL https://my-domain/serviceA/v1/schema 到端口 8181 为 /v1/schema
和https://my-domain/serviceB/v1/api/schema 到端口9191 为/v1/api/schema。
到目前为止,我能够使用 location 将请求转发到基于初始路径的特定端口,但无法从 URI 中删除 /serviceA 或 /serviceB。
【问题讨论】:
-
proxy_passdirective 的文档中有一个示例。 -
是的,我试过这样:location /serviceA { proxy_pass 10.5.121.6:8181; .... 其他一些配置... ...... } 但问题在于,如果我像 location /serviceA/v1 这样提供它,它不会根据文档从 URL 中删除“/serviceA/” { proxy_pass 10.5.121.6:8181/v1; .... 其他一些配置... ...... } 然后它将替换 url。
标签: nginx nginx-reverse-proxy nginx-config