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 подавляли промежуточные (1xx) ответы HTTP, отправленные бэкендом. Это технически нарушение протокола HTTP. На практике, если бэкенд отправляет промежуточный ответ, он может сам расширять протокол способом, о котором нам ничего не известно, или просто сломан. Поэтому это теперь настраивается: установите proxy-interim-response RFC для полной соответствия протоколу или proxy-interim-response Suppress для подавления промежуточных ответов.
proxy-initial-not-pooled
Если эта переменная установлена, при повторном использовании подключений не будет использоваться пул, если запрос клиента является начальным запросом на подключении фронта. Это позволяет избежать сообщения об ошибке "proxy: ошибка чтения строки состояния с удаленного сервера", вызванной условием гонки, когда сервер бэкенда закрывает подключение пула после проверки подключения прокси и до того, как данные, отправленные прокси, достигли бэкенда. Следует иметь в виду, что установка этой переменной снижает производительность, особенно с клиентами 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