我的 nginx 服务器当前设置为通过以下方式服务所有请求uwsgi_pass
:
location / {
uwsgi_pass unix:///tmp/uwsgi-zerocater.sock;
include uwsgi_params;
uwsgi_read_timeout 7200;
client_max_body_size 20M;
}
在我的应用程序代码中,我设置了一个名为new_fe
“True”或“False”的cookie。
当值为“True”时,我想改为proxy_pass
另一个外部服务器,但仅限于特定路由。类似于以下伪代码:
location ~ "^/my/complicated/regex$" {
if ($cookie_new_fe = "True") {
# pass the request to my other server
# at something like http://other.server.com
} else {
# do the usual uwsgi stuff
}
}
我怎样才能做到这一点?我还是有点新nginx
,所以如果我错过了一些简单的问题,请原谅这个问题。
作为临时解决方案,这应该有效:
我进一步研究了地图并提出了这个解决方案,它似乎有效(使用@womble 和@alexey-ten 的建议):
这样,在此迁移完成之前,我需要在此处添加的许多路由中的重复最少。