Пропуск прокси с хостом в заголовках вызывает перенаправление цикла

Пример использования

Нам нужно перенаправить на текущий веб-сайт (ip1 - https://host.com/path ) с нового сервера (ip2) на котором будет размещен другой веб-сайт в корневом каталоге ( https://host2.com/ ). В конце концов, этот последний веб-сайт будет размещен как https://host.com/ , что означает, что у нас будет один веб-сайт на https://host.com/ (размещенный на ip2) и еще один на https://host.com/path (который размещен на ip1)

NGINX работает на сервере ip2.

Текущий веб-сайт принимает запросы только от хоста. com

Текущая конфигурация

Это то, что мы пытаемся сделать прямо сейчас на сервере ip2

location /path/ {
  proxy_pass https://ip1/path;
  proxy_redirect off;
  proxy_set_header Host host.com;
}

Если мы попытаемся получить доступ к https://host2.com/path , конфигурация будет работать хорошо. Когда мы меняем DNS, чтобы установить ip2 как host.com, а затем, если мы пытаемся получить доступ к https://host.com/path , NGINX обрабатывает запрос, но тогда у нас есть бесконечные 302 перенаправления на https://host.com/path (пока браузер не остановит процесс)

У вас есть идеи, как решить эту проблему?

Большое спасибо!

0
задан 5 February 2019 в 13:01
1 ответ

Мы наконец нашли конфигурацию для решения этой проблемы:

location /path/ {
  proxy_pass https://ip1/path/;
  proxy_redirect off;
  proxy_set_header Host host.com;
}

Следите за протоколом (https) и завершающий символ косой черты.

Мы переместили DNS для перенаправления host.com на ip2, и он работает как шарм!

1
ответ дан 4 December 2019 в 15:46

Теги

Похожие вопросы