Нужны ли директивам Proxypass директива ProxyPassReverse?
Все ли директивы ProxyPass нуждаются в директиве ProxyPassReverse?
ProxyPass / http://foo.example.com:8080/
ProxyPassReverse / http://www.example.com/
Я видел этот фрагмент и понимаю, что весь трафик foo.example.com
проксируется на foo.example.com:8080. Что делает вторая строка?
1 ответ
Например, предположим, что локальный сервер имеет адрес http://example.com/; затем
ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/
не только приведет к тому, что локальный запрос для http://example.com/mirror/foo/bar будет внутренне преобразован в запрос прокси на http://backend.example.com/bar (функциональность, которую Proxy Pass предоставляет здесь). Он также заботится о перенаправлениях, отправляемых сервером backend.example.com: когда он перенаправляет http://backend.example.com/quux на http://backend.example.com/quux Apache настраивает это на http://example.com/mirror/foo/quux перед пересылкой ответа перенаправления HTTP клиенту. Обратите внимание, что имя хоста, используемое для создания URL-адреса, выбирается в соответствии с настройкой директивы UseCanonicalName.