Обратный прокси Nginx: как перенаправить https на 2 похожих сервера?
Мне нужно обновить конфигурацию nginx, чтобы добавить перенаправление на 2 аналогичных сервера (серверы PABX). Внутренне, они оба могут быть объединены в https://internal_fqdn/.
Итак, теперь мне нужно иметь доступ к ним через обратный прокси.
Поскольку серверы имеют одинаковый тип URL, я должен определить способ определить, какой сервер нужен.
Сначала я думал о том, чтобы добавить какое-то ключевое слово для дифференцированного трафика, для первого сервера ключевое слово "server1", для второго сервера "server2". URL должен быть https://reverseproxy_fqdn/server1 или https://reverseproxy_fqdn/server2.
location /server1/ { proxy_pass https://$server1_fqdn/; proxy_redirect https://$server1_fqdn/ https://$RPpublic_name/OXE1; proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
Но это не работает, у меня есть ошибка в консоли браузера:
SyntaxError: ожидаемое выражение, получено "<"
Я также пытаюсь добавить "зло, если":
if ($request_uri ~* "/server1/(.*)") { proxy_pass https://$server1_fqdn/$1; }
на этот раз я могу перейти на страницу входа на сервер server1, но некоторые изображения не загружаются, он пытается перейти в /assets/theme/img/sprite.svg. Ключевое слово "server1" не появляется и поэтому не очень хорошо обрабатывается RP. (извне URL для загрузки этих элементов - https://public_fqdn/assets/theme/img/sprite.svg, который не правильно перенаправляется RP: redirect, только если URL содержит это ключевое слово "server1").
Если я попытаюсь войти в систему, ошибка такого же типа не будет иметь ключевого слова server1.
Чтобы сделать разницу между обоими серверами, я хотел бы использовать какое-то ключевое слово в URL для обратного прокси-сервера, эти ключевые слова не должны быть включены в URL, перенаправленный на серверы.
Спасибо
Фред