Конфигурация обратного прокси - папка перенаправляется на исходный URL

Недавно я создал настройку обратного прокси-сервера для нашего клиента, по сути, мы являемся поставщиком услуг, который размещает статические файлы HTML в результате нашего инструмента. Теперь клиенты хотят, чтобы их пользователи могли легко получать доступ к содержимому, а также получать выгоду от SEO, поэтому мы выбираем подход с обратным прокси.

Клиентская сторона выглядит так: https://clientdomain.com/mycontent

Наш домен: https://staticfiles.com

Когда мы пишем https://clientdomain.com/mycontent/foldername/, наш сервер корректно обслуживает файл index.html с сервера и клиент доволен.

Но проблема возникает, когда мы пытаемся посетить https://clientdomain.com/mycontent/foldername (без косой черты), наш сервер выдает ответ 301 и перенаправляет пользователей на https://staticfiles.com/foldername/ (с косой чертой)

Любой способ справиться с этим через конфигурацию Nginx, где перед перенаправлением в обозначение папки он проверяет входящий хост, а затем перенаправляет его соответствующим образом.

Для прокси-пасса мы используем следующую конфигурацию:

location  /mycontent {
    proxy_pass https://staticfiles.com/;
    proxy_redirect redirect replacement;
}

person Chintan Palan    schedule 09.04.2020    source источник
comment
Обратный прокси-сервер должен обрабатывать это автоматически с настройками по умолчанию для proxy_redirect, если ваши настройки location или proxy_pass сбивают с толку.   -  person Richard Smith    schedule 09.04.2020
comment
@RichardSmith Пожалуйста, проверьте приведенную выше конфигурацию, которую мы используем на стороне клиента для проксирования.   -  person Chintan Palan    schedule 09.04.2020
comment
Значение location должно иметь окончание / для правильного перевода URI, а proxy_redirect redirect replacement; выглядит как вырезка и вставка из руководство и не содержит каких-либо реальных значений - вероятно, он будет работать со значениями по умолчанию (путем полного удаления этого утверждения).   -  person Richard Smith    schedule 09.04.2020


Ответы (1)


В этом фрагменте кода, когда мы попытались подробно прочитать документацию nginx, мы обнаружили, что это не означает буквально, но здесь должны быть указаны URL-адреса перенаправления.

proxy_redirect redirect replacement;

Так что это должно было быть на самом деле

proxy_redirect https://staticfiles.com https://clientdomain.com/mycontent

Это изменит все экземпляры https://staticfiles.com на < strong>https://clientdomain.com/mycontent из любых заголовков местоположения, полученных с реального сервера. .

person Chintan Palan    schedule 09.04.2020