У меня есть Nginx
сервер, работающий через 80
порт, работающий в качестве прокси, Apache 2.2
который прослушивает127.0.0.1:8080
Когда я получаю доступ, http://hostname/subfolder/
это прекрасно работает.
Когда я получаю доступ, http://hostname/subfolder
он перенаправляет меня к тому, http://hostname:8080/subfolder/
что неправильно.
Насколько я вижу , неправильный редирект возвращается Apache , но UseCanonicalName
и UseCanonicalPhysicalProxy
оба установлены вOff
Любые идеи о том, как это исправить?
apache-2.2
nginx
кварк
источник
источник
Ответы:
Я тоже столкнулся с этим и смог исправить это с помощью директивы proxy_redirect сразу после моей директивы proxy_pass в моей конфигурации nginx:
Это моя полная конфигурация nginx (в моем случае Apache находится на порту 81 и содержит два сайта. Я добавил две строки proxy_redirect для конкретного сайта, потому что я не уверен, как добавить одну общую строку.)
Примечание: это было до версии 1.0 nginx 5+ лет назад. Вот документы для proxy_redirect для текущей версии: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect
источник
Если ваша директива ServerName для Apache установлена на «hostname: 8080», удалите «: 8080» или измените на «hostname: 80». Вы также можете добавить «proxy_set_header Host $ host: 80»
источник
У меня была эта проблема давным-давно ... Поскольку я помню, что это было связано с HTTP RFC, косая черта в конце обозначает каталог (/ test /), никакая косая черта в конце не является файлом (/ test)
Короче говоря, добавьте правило перезаписи, которое добавит косую черту в запрос, если ее нет.
посмотрите на Решено: проблема косой черты с сервером Nginx
HTP
источник
Я столкнулся с этой проблемой в последнее время. Пока предлагаемые решения будут работать, Nginx предлагает встроенное решение:
Документация по адресу http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect
Вот полный пример того, как его использовать:
источник
Возможно, nginx не устанавливает заголовки прокси, чтобы сообщать apache, как выглядит исходный запрос.
В nginx:
Смотрите http://wiki.nginx.org/LikeApache
источник