设想 :
Web 请求通过端口 80 到达 nginx。我需要根据 URL 参数转发请求。
如果 URL 中包含userId=foo
URL 中的任何内容,则它必须到达服务器 A
并且如果 URL 中包含userId=bar
URL 中的任何内容,那么它必须到达服务器 B
我可以使用什么配置选项来实现这一点?
答案1
/etc/nginx/站点可用/默认
server {
listen 80;
server_name example.com;
location ~ userId=foo {
return 301 http://domainOfServerA$request_uri;
}
location ~ userId=bar {
return 301 http://domainOfServerB$request_uri;
}
}
无论如何,如果 bar/foo 是一个变量,你就应该为其编写正则表达式。