nginx为特定请求指定服务器
假设我有nginx为特定请求指定服务器,nginx,upload,load-balancing,distributed,sticky-session,Nginx,Upload,Load Balancing,Distributed,Sticky Session,假设我有ip\u散列为4台不同服务器之间的负载平衡打开。所以,客户端的IP地址被用作散列密钥,以确定他的请求路由到哪个服务器 但是,对于文件上载,最好将所有文件保存在一台服务器上。因此,我希望所有客户机的/upload请求都路由到服务器1。这意味着除了必须发送到服务器1的POST/upload之外,所有请求都遵循IP哈希 有没有办法在NGINX中创建此异常?谢谢 定义两个上游容器,一个具有全负载平衡,另一个具有特定于岗位的服务要求: upstream balancing { ... } upst
ip\u散列代码>为4台不同服务器之间的负载平衡打开。所以,客户端的IP地址被用作散列密钥,以确定他的请求路由到哪个服务器
但是,对于文件上载,最好将所有文件保存在一台服务器上。因此,我希望所有客户机的/upload
请求都路由到服务器1。这意味着除了必须发送到服务器1的POST/upload
之外,所有请求都遵循IP哈希
有没有办法在NGINX中创建此异常?谢谢 定义两个上游
容器,一个具有全负载平衡,另一个具有特定于岗位的服务要求:
upstream balancing { ... }
upstream uploading { ... }
另外,在http
容器中,定义请求方法的map
:
map $request_method $upstream {
default balancing;
POST uploading;
}
最后,在服务器
容器中,为/upload
URI定义一个特定的代理过程
:
location / {
proxy_pass http://balancing;
}
location /upload {
proxy_pass http://$upstream;
}
上游规范根据REQUEST\u方法的值进行评估