<-
Apache > HTTP 服务器 > 文档 > 版本 2.4 > 模块

Apache 模块 mod_proxy_http

可用语言:  en  |  fr 

描述用于 mod_proxy 的 HTTP 支持模块
状态扩展
模块标识符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_proxymod_proxy_http 必须存在于服务器中。

警告

在您 保护您的服务器 之前,不要启用代理。开放代理服务器对您的网络和整个互联网都非常危险。

Support Apache!

主题

指令

此模块不提供任何指令。

错误修复清单

另请参阅

top

环境变量

除了控制 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
如果设置了此变量,如果客户端请求是前端连接上的初始请求,则不会重用任何池连接。这避免了由后端服务器在代理检查连接后关闭池连接,以及代理发送的数据到达后端之前发生的竞争条件导致的“代理:从远程服务器读取状态行时出错”错误消息。必须牢记,设置此变量会降低性能,尤其是在使用 HTTP/1.0 客户端时。
top

请求注释

mod_proxy_http 使用 LogFormatErrorLogFormat 中的 %{VARNAME}n 格式创建以下请求注释以进行日志记录

proxy-source-port
用于连接到后端服务器的本地端口。
proxy-status
从后端服务器接收到的 HTTP 状态。

可用语言:  en  |  fr 

top

评论

注意
这不是问答部分。此处放置的评论应指向有关改进文档或服务器的建议,如果它们被实施或被认为无效/偏离主题,可能会被我们的版主删除。有关如何管理 Apache HTTP 服务器的问题应直接发送到我们的 IRC 频道 #httpd(在 Libera.chat 上)或发送到我们的 邮件列表