Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_proxy_http

Описание: Модуль поддержки HTTP для mod_proxy
Статус: Расширение
Идентификатор модуля: proxy_http_module
Исходный файл: mod_proxy_http.c

Краткое описание

Для работы этого модуля требуется служба mod_proxy. Он предоставляет функции для проксирования запросов HTTP и HTTPS. mod_proxy_http поддерживает HTTP/0.9, HTTP/1.0 и HTTP/1.1. Он не предоставляет возможностей кэширования. Если вы хотите настроить кэширующий прокси-сервер, можно воспользоваться дополнительной службой модуля mod_cache.

Таким образом, чтобы обрабатывать HTTP-запросы через прокси-сервер, на сервере должны присутствовать mod_proxy и mod_proxy_http.

Предупреждение

Не включайте проксирование, пока не обеспечите безопасность сервера. Открытые прокси-серверы опасны как для вашей сети, так и для Интернета в целом.

Переменные окружения

Помимо директив конфигурации, управляющих поведением mod_proxy, существует ряд переменных окружения, управляющих поставщиком протокола HTTP. Переменные окружения ниже, для которых не указаны конкретные значения, включаются при установке любого значения.

proxy-sendextracrlf
Заставляет прокси-сервер отправлять в конце запроса дополнительную последовательность CR-LF. Это обходное решение для ошибки в некоторых браузерах.
force-proxy-request-1.0
Заставляет прокси-сервер отправлять запросы серверной части как HTTP/1.0 и отключает функции HTTP/1.1.
proxy-nokeepalive
Заставляет прокси-сервер закрывать соединение с серверной частью после каждого запроса.
proxy-chain-auth
Если прокси-сервер требует аутентификации, он будет читать и использовать учетные данные для аутентификации на прокси-сервере, отправленные клиентом. При включенной переменной proxy-chain-auth он также передаст эти учетные данные следующему прокси-серверу в цепочке. Это может понадобиться, если в цепочке прокси-серверов используется общая информация для аутентификации. Предупреждение безопасности: не устанавливайте эту переменную, если вы не уверены, что она вам нужна, поскольку она приводит к передаче конфиденциальной информации!
proxy-sendcl
В HTTP/1.0 требовалось, чтобы все HTTP-запросы с телом (например, запросы POST) содержали заголовок Content-Length. Эта переменная окружения заставляет прокси-сервер Apache отправлять этот заголовок серверной части независимо от того, что клиент отправил прокси-серверу. Это обеспечивает совместимость при проксировании запросов к серверной части с поддержкой HTTP/1.0 или к серверной части с неизвестными возможностями. Однако для этого прокси-серверу может потребоваться буферизовать весь запрос, что значительно снижает эффективность при обработке больших запросов.
proxy-sendchunks или proxy-sendchunked
Действует противоположно переменной proxy-sendcl. Позволяет отправлять тела запросов серверной части с использованием фрагментированного кодирования передачи. Это позволяет эффективно передавать запрос потоково, но требует поддержки HTTP/1.1 серверной частью.
proxy-interim-response
Эта переменная принимает значения RFC (по умолчанию) или Suppress. В более ранних версиях httpd подавлялись промежуточные ответы HTTP (1xx), отправленные серверной частью. С технической точки зрения это является нарушением протокола HTTP. На практике, если серверная часть отправляет промежуточный ответ, возможно, она сама расширяет протокол способом, о котором нам ничего не известно, или просто работает с ошибками. Теперь это поведение можно настроить: установите proxy-interim-response RFC для полного соответствия протоколу или proxy-interim-response Suppress для подавления промежуточных ответов.
proxy-initial-not-pooled
Если эта переменная установлена, повторное использование соединения из пула не выполняется, когда запрос клиента является первым запросом в соединении с внешней стороны. Это позволяет избежать сообщения об ошибке «proxy: error reading status line from remote server», вызванного состоянием гонки: серверная часть закрывает соединение из пула после проверки соединения прокси-сервером, но до того, как отправленные прокси-сервером данные достигают серверной части. Следует учитывать, что установка этой переменной снижает производительность, особенно для клиентов HTTP/1.0.

Примечания к запросам

mod_proxy_http создает следующие примечания к запросам для ведения журнала с использованием формата %{VARNAME}n в LogFormat или ErrorLogFormat:

proxy-source-port
Локальный порт, используемый для соединения с серверной частью.
proxy-status
Статус HTTP, полученный от серверной части.

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_proxy_http.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API