Как можно перенаправить перенаправление в nginx для ответа на определенный URL с относительным перенаправлением на определенный путь?
документация nginx предполагает, что это режим по умолчанию для nginx, но на самом деле, если перенаправление места на начало с помощью /nginx отвечая абсолютным URL-адресом в поле "Местоположение".
Для локальной конфигурации сервера, содержащей местоположения:
location = /a {
return 301 some/path;
}
location = /b {
return 301 /qwerty;
}
В ответ на запрос в /a:
Location: some/path
и для /b это:
Location: http://127.0.0.1/qwerty
однако мы хотели бы, чтобы /b отвечал:
Location: /qwerty
Причина, по которой мы хотели бы использовать относительные перенаправления, заключается в том, что мы хотели бы получить доступ к nginx из разных доменов и прокси, например. в явном виде в dev или через ssl-оканчивающийся балансировщик нагрузки, и скорее сохранит все просто, освободив nginx от необходимости понимать этот контекст.
FYI эти примеры были протестированы против версий nginx 1.4.6 и 1.9.6 с использованием curl, например:
curl --head http://127.0.0.1/b