Рейтинг:0

Проксирование на прокси с помощью nginx

флаг fr

я пытаюсь использовать proxy_pass директива для прокси-запросов к разным серверам.

В следующей конф. /api1 и API2 проксируются правильно, но API3 не является.

Сервер api3.server3.com запускает сервер Apache, который проксирует /апи-альт на правильный сервер (с которым я не могу связаться через сервер nginx)

сервер {
  местоположение /api1 {
   прокси_пароль https://api1.server1.com;
  }
  местоположение /api2 {
   прокси_пароль https://api2.server2.com;
  }
  местоположение /api3/ {
   # Этот ломается
   # api3.server3.com может проксировать/перезаписывать '/api-alt' на другой сервер
   прокси_пасс https://api3.server3.com/api-alt;
  }
}

мойсервер.com/api3/вещь возвращает HTTP/400 (неверный запрос)

Я бы хотел, чтобы этот proxy_pass работал, но я в тупике.

Ivan Shatsky avatar
флаг gr
Прочитайте [этот] (https://stackoverflow.com/a/53650827/7121513) ответ. Обратите внимание, что ваша конфигурация делает запрос `/api3/some/path` для проксирования на сервер `api3.server3.com` как `/api-altsome/path`, в то время как запросы, начинающиеся с `/api1` или `/api2`, проксируются как -является.
Askirkela avatar
флаг fr
Спасибо за ссылку. Я только что попробовал с `location /api3` и `proxy_pass http://api3.server3.com/api-alt` с комбинациями "/" и без "/", даже с правилом перезаписи... все равно не повезло. я продолжу искать

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.