使用Cookie控制Nginx代理目标?
我正在尝试使用有趣的Apache mod_rewrite设置来转换反向代理以改为使用Nginx(由于外部原因,我们正从Apache迁移到Nginx,并且除此部分外,大多数其他方法都工作正常)。 我最初的设置是读取HTTP cookie(由某些应用程序设置),然后根据其值将反向代理定向到不同的后端。它是这样的: RewriteCond %{HTTP_COOKIE} proxy-target-A RewriteRule ^/original-request/ http://backend-a/some-application [P,QSA] RewriteCond %{HTTP_COOKIE} proxy-target-B RewriteRule ^/original-request http://backend-b/another-application [P,QSA] RewriteRule ^/original-request http://primary-backend/original-application [P,QSA] 我正在尝试使用Nginx实现相同的目的,而我的初始配置是这样的(其中“ proxy_override”是cookie的名称): location /original-request { if ($cookie_proxy_override = "proxy-target-A") { rewrite . http://backend-a/some-application; break; } if ($cookie_proxy_override = "proxy-target-B") { rewrite . http://backend-b/another-application; break; } proxy_pass http://primary-backend/original-application; } …