Обратный прокси 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, перенаправленный на серверы.

Спасибо

Фред

0 ответов

Другие вопросы по тегам