【发布时间】:2022-11-03 01:22:26
【问题描述】:
当前有一个应用程序正在使用 cname 主机映射与第三方应用程序
第三方应用的主机名是mycompany.partner.com
以及我的域help.mycompany.com 下的当前 cname 主机映射
所以当前的路由在下面
users => cloudflare DNS(help.mycompany.com) => cname host mapping(mycompany.partner.com) => partner app
现在我想这样做
=> cname host mapping(mycompany.partner.com) => partner app
|
users => cloudflare DNS(help.mycompany.com) => my nginx => |
|
=> my frontend app
这可能吗?
所以基本上我希望所有流量现在都通过 nginx 进入我自己的应用程序,然后我根据 url 路径将一些流量路由到第三方应用程序,将其他流量路由到我的前端应用程序
我怎样才能用 nginx 做到这一点?下面是我要路由的 url 路径
这路由到我的前端应用程序
help.mycompany.com/app/test1 => http://localhost:500/app/test1 help.mycompany.com/app/test2/test3 => http://localhost:500/app/test2/test3 help.mycompany.com/app/parameter?key=check => http://localhost:500/app/parameter?key=check这会重写/路由到合作伙伴应用程序
help.mycompany.com/app/partner1 => https://mycompany.partner.com/app/partner1 help.mycompany.com/app/discuss/check => https://mycompany.partner.com/app/discuss/check and all other paths将所有 url 路径路由到前端应用程序的位置块如下
location ^~ / { rewrite ^/(.*)$ /$1 break; proxy_pass http://localhost:500; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_redirect off; }但现在我需要将一些 url 路径拆分到合作伙伴应用程序,如上所述
所以基本上所有流量都将通过 nginx,因为我将 DNS 指向 help.mycompany.com 现在指向我的 nginx 反向代理,然后路由并重写 url
谢谢
【问题讨论】:
标签: nginx dns url-rewriting reverse-proxy