У меня есть 1 внешний сервер Nginx и 2 внутренних сервера nginx.
Фронтенд-сервер передает прокси на бэкэнд-сервер. Раньше был только 1 бэкэнд-сервер, поэтому все мои запросы отправлялись на один бэкэнд-сервер, но по мере увеличения трафика я добавил еще 1 бэкэнд-сервер только для поисковых запросов.
Но я не могу сделать только поисковые запросы для перехода на 2-й бэкэнд-сервер.
моя текущая конфигурация такая.
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
.
Как я могу это исправить?