我有1个前端Nginx服务器和2个后端Nginx服务器。
前端服务器确实将代理传递给后端服务器。以前只有1个后端服务器,所以我所有的查询都转到单个后端服务器,但是随着流量的增加,我又增加了1个用于搜索查询的后端服务器。
但是我不能只进行搜索查询去第二台后端服务器。
我当前的配置是这样的。
server {
listen 80;
server_name example.com;
location /search/ {
proxy_pass https://search.example.com/;
proxy_set_header Host search.example.com;
#set custom headers for upstream server
proxy_set_header Accept-Encoding "";
proxy_set_header CF-Connecting-IP "";
proxy_ssl_verify off;
proxy_ssl_server_name on;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
proxy_pass https://box1.example.com/;
proxy_set_header Host box1.example.com;
#set custom headers for upstream server
proxy_set_header Accept-Encoding "";
proxy_set_header CF-Connecting-IP "";
proxy_ssl_verify off;
proxy_ssl_server_name on;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
我想做的是
如果URL是
https://example.com/search/test/1/8/0
然后反向代理到search.example.com
将其他所有请求反向代理到box1.example.com
我当前的配置为404 not found
带来了search queries
错误。
我该如何解决?