nginx根据参数路由
业务场景:
提供服务的服务固定返回地址场景(银行/支付等服务)
A和B服务同时使用C提供的服务,C的回调(通知)地址是固定的,A和B都需要拿到C对应业务的返回值
例如A请求是 C.com/xxx?state=A_123
例如B请求是 C.com/xxx?state=B_456
其中state为A和B请求C服务URL参数信息,C回调通知时会原样返回state信息
C处理完成后固定返回到nginx.com/router?state=xxx
那Nginx配置如下:
location /router {
if ($arg_state ~ A_(.*)){
rewrite ^.*$ https://A.COM/a permanent;
}
if ($arg_state ~ B_(.*)){
rewrite ^.*$ https://B.COM/b permanent;
}
}
其中$arg_state ~ A_(.*) 表示匹配URL参数中以A_开头的请求,如果规则匹配那将地址重定向到
https://A.COM/a
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码