Рейтинг:0

Nginx переписывает правильно для одного, но не для другого

флаг fr

В принципе, я пытаюсь использовать proxy_pass директива для вызова удаленного API.

Пока вот что у меня получилось:

сервер {
  местоположение / а {
    прокси_пароль https://a.com;
    переписать ^/a(.*)$ $1 break; # без косой черты в конце, определено в коде приложения
  }
  местоположение / б {
    прокси_пароль https://b.com;
    переписать ^/b(.*)$ $1 break; # без косой черты в конце, определено в коде приложения
  }
  место расположения / {
    # Остальная конфигурация
  }
}

Я застрял в том факте, что местоположение / а работает нормально, но местоположение / б почему-то нет(HTTP/404).


Я попытался использовать завершающую косую черту для местоположение / б Сюда

местоположение / б / {
  прокси_пароль https://b.com/;
  переписать ^/b/(.*)$ $1 break;
}

но это тоже не работает.

Любая помощь очень приветствуется.

Рейтинг:0
флаг fr

Я нашел ответ на свой конкретный вопрос.

Два сервера API настроены по-разному, и мне пришлось немного изменить конфигурацию nginx.

  • Сервер b.com нужен proxy_set_header Хост $host директива и нет переписать директива
  • Сервер a.com нуждался в переписать директива, но не proxy_set_header Хост $host

Это оставляет меня со следующей (работающей для меня) конфигурацией:

сервер {
    местоположение / а {
        прокси_пароль https://a.com;
        переписать ^/a(.*)$ $1 break;
    }
    местоположение / б {
        proxy_set_header Хост $host;
        прокси_пароль https://b.com;
    }
}

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

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