mod_proxy_http.html.en revision 7fec19672a491661b2fe4b29f685bc7f4efa64d4
6ae232055d4d8a97267517c5e50074c2c819941and<?xml version="1.0" encoding="ISO-8859-1"?>
6ae232055d4d8a97267517c5e50074c2c819941and<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
6ae232055d4d8a97267517c5e50074c2c819941and<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
6ae232055d4d8a97267517c5e50074c2c819941and XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
6ae232055d4d8a97267517c5e50074c2c819941and This file is generated from xml source: DO NOT EDIT
6ae232055d4d8a97267517c5e50074c2c819941and XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
6ae232055d4d8a97267517c5e50074c2c819941and -->
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc<title>mod_proxy_http - Apache HTTP Server</title>
6ae232055d4d8a97267517c5e50074c2c819941and<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
6ae232055d4d8a97267517c5e50074c2c819941and<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
2e545ce2450a9953665f701bb05350f0d3f26275nd<script src="/style/scripts/prettify.js" type="text/javascript">
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen</script>
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen
6ae232055d4d8a97267517c5e50074c2c819941and<link href="/images/favicon.ico" rel="shortcut icon" /></head>
6ae232055d4d8a97267517c5e50074c2c819941and<body>
6ae232055d4d8a97267517c5e50074c2c819941and<div id="page-header">
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
3f08db06526d6901aa08c110b5bc7dde6bc39905nd<p class="apache">Apache HTTP Server Version 2.5</p>
6ae232055d4d8a97267517c5e50074c2c819941and<img alt="" src="/images/feather.gif" /></div>
6ae232055d4d8a97267517c5e50074c2c819941and<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
6ae232055d4d8a97267517c5e50074c2c819941and<div id="path">
b43f840409794ed298e8634f6284741f193b6c4ftakashi<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
6ae232055d4d8a97267517c5e50074c2c819941and<div id="page-content">
6ae232055d4d8a97267517c5e50074c2c819941and<div id="preamble"><h1>Apache Module mod_proxy_http</h1>
6ae232055d4d8a97267517c5e50074c2c819941and<div class="toplang">
b43f840409794ed298e8634f6284741f193b6c4ftakashi<p><span>Available Languages: </span><a href="/en/mod/mod_proxy_http.html" title="English">&nbsp;en&nbsp;</a> |
053bfa8a288528fafab2b7a032c15116bb5de711nd<a href="/fr/mod/mod_proxy_http.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a></p>
6ae232055d4d8a97267517c5e50074c2c819941and</div>
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>HTTP support module for
6ae232055d4d8a97267517c5e50074c2c819941and<code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code></td></tr>
b43f840409794ed298e8634f6284741f193b6c4ftakashi<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
b43f840409794ed298e8634f6284741f193b6c4ftakashi<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>proxy_http_module</td></tr>
b43f840409794ed298e8634f6284741f193b6c4ftakashi<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_proxy_http.c</td></tr></table>
b43f840409794ed298e8634f6284741f193b6c4ftakashi<h3>Summary</h3>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>This module <em>requires</em> the service of <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>. It provides the features used for
6ae232055d4d8a97267517c5e50074c2c819941and proxying HTTP and HTTPS requests. <code class="module"><a href="/mod/mod_proxy_http.html">mod_proxy_http</a></code>
6ae232055d4d8a97267517c5e50074c2c819941and supports HTTP/0.9, HTTP/1.0 and HTTP/1.1. It does <em>not</em>
6ae232055d4d8a97267517c5e50074c2c819941and provide any caching abilities. If you want to set up a caching
6ae232055d4d8a97267517c5e50074c2c819941and proxy, you might want to use the additional service of the
6ae232055d4d8a97267517c5e50074c2c819941and <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> module.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <p>Thus, in order to get the ability of handling HTTP proxy requests,
6ae232055d4d8a97267517c5e50074c2c819941and <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="/mod/mod_proxy_http.html">mod_proxy_http</a></code>
6ae232055d4d8a97267517c5e50074c2c819941and have to be present in the server.</p>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and <div class="warning"><h3>Warning</h3>
6ae232055d4d8a97267517c5e50074c2c819941and <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy
6ae232055d4d8a97267517c5e50074c2c819941and servers are dangerous both to your network and to the Internet at
6ae232055d4d8a97267517c5e50074c2c819941and large.</p>
6ae232055d4d8a97267517c5e50074c2c819941and </div>
6ae232055d4d8a97267517c5e50074c2c819941and</div>
1d980e5489836e977ba59b419e27b0ec875c4bd3takashi<div id="quickview"><h3 class="directives">Directives</h3>
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh<p>This module provides no
6ae232055d4d8a97267517c5e50074c2c819941and directives.</p>
6ae232055d4d8a97267517c5e50074c2c819941and<h3>Topics</h3>
6ae232055d4d8a97267517c5e50074c2c819941and<ul id="topics">
6ae232055d4d8a97267517c5e50074c2c819941and<li><img alt="" src="/images/down.gif" /> <a href="#env">Environment Variables</a></li>
6ae232055d4d8a97267517c5e50074c2c819941and<li><img alt="" src="/images/down.gif" /> <a href="#notes">Request notes</a></li>
6ae232055d4d8a97267517c5e50074c2c819941and</ul><h3>See also</h3>
6ae232055d4d8a97267517c5e50074c2c819941and<ul class="seealso">
6ae232055d4d8a97267517c5e50074c2c819941and<li><code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code></li>
6ae232055d4d8a97267517c5e50074c2c819941and<li><code class="module"><a href="/mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
6ae232055d4d8a97267517c5e50074c2c819941and</ul></div>
6ae232055d4d8a97267517c5e50074c2c819941and<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
6ae232055d4d8a97267517c5e50074c2c819941and<div class="section">
6ae232055d4d8a97267517c5e50074c2c819941and<h2><a name="env" id="env">Environment Variables</a></h2>
6ae232055d4d8a97267517c5e50074c2c819941and <p>In addition to the configuration directives that control the
6ae232055d4d8a97267517c5e50074c2c819941and behaviour of <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>, there are a number of
6ae232055d4d8a97267517c5e50074c2c819941and <dfn>environment variables</dfn> that control the HTTP protocol
6ae232055d4d8a97267517c5e50074c2c819941and provider:</p>
6ae232055d4d8a97267517c5e50074c2c819941and <dl>
6ae232055d4d8a97267517c5e50074c2c819941and <dt>proxy-sendextracrlf</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>Causes proxy to send an extra CR-LF newline on the end of a
6ae232055d4d8a97267517c5e50074c2c819941and request. This is a workaround for a bug in some browsers.</dd>
6ae232055d4d8a97267517c5e50074c2c819941and <dt>force-proxy-request-1.0</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>Forces the proxy to send requests to the backend as HTTP/1.0
6ae232055d4d8a97267517c5e50074c2c819941and and disables HTTP/1.1 features.</dd>
6ae232055d4d8a97267517c5e50074c2c819941and <dt>proxy-nokeepalive</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>Forces the proxy to close the backend connection after
6ae232055d4d8a97267517c5e50074c2c819941and each request.</dd>
6ae232055d4d8a97267517c5e50074c2c819941and <dt>proxy-chain-auth</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>If the proxy requires authentication, it will read and
6ae232055d4d8a97267517c5e50074c2c819941and consume the proxy authentication credentials sent by the client.
6ae232055d4d8a97267517c5e50074c2c819941and With <var>proxy-chain-auth</var> it will <em>also</em> forward
6ae232055d4d8a97267517c5e50074c2c819941and the credentials to the next proxy in the chain. This may
6ae232055d4d8a97267517c5e50074c2c819941and be necessary if you have a chain of proxies that share
6ae232055d4d8a97267517c5e50074c2c819941and authentication information. <strong>Security Warning:</strong>
6ae232055d4d8a97267517c5e50074c2c819941and Do not set this unless you know you need it, as it forwards
6ae232055d4d8a97267517c5e50074c2c819941and sensitive information!</dd>
6ae232055d4d8a97267517c5e50074c2c819941and <dt>proxy-sendcl</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>HTTP/1.0 required all HTTP requests that include a body
6ae232055d4d8a97267517c5e50074c2c819941and (e.g. POST requests) to include a <var>Content-Length</var>
6ae232055d4d8a97267517c5e50074c2c819941and header. This environment variable forces the Apache proxy to
6ae232055d4d8a97267517c5e50074c2c819941and send this header to the backend server, regardless of what the
6ae232055d4d8a97267517c5e50074c2c819941and Client sent to the proxy. It ensures compatibility when
6ae232055d4d8a97267517c5e50074c2c819941and proxying for an HTTP/1.0 or unknown backend. However, it
6ae232055d4d8a97267517c5e50074c2c819941and may require the entire request to be buffered by the proxy,
b43f840409794ed298e8634f6284741f193b6c4ftakashi so it becomes very inefficient for large requests.</dd>
053bfa8a288528fafab2b7a032c15116bb5de711nd <dt>proxy-sendchunks or proxy-sendchunked</dt>
6ae232055d4d8a97267517c5e50074c2c819941and <dd>This is the opposite of <var>proxy-sendcl</var>. It allows
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung request bodies to be sent to the backend using chunked transfer
727872d18412fc021f03969b8641810d8896820bhumbedooh encoding. This allows the request to be efficiently streamed,
0d0ba3a410038e179b695446bb149cce6264e0abnd but requires that the backend server supports HTTP/1.1.</dd>
727872d18412fc021f03969b8641810d8896820bhumbedooh <dt>proxy-interim-response</dt>
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh <dd>This variable takes values <code>RFC</code> (the default) or
0d0ba3a410038e179b695446bb149cce6264e0abnd <code>Suppress</code>. Earlier httpd versions would suppress
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh HTTP interim (1xx) responses sent from the backend. This is
727872d18412fc021f03969b8641810d8896820bhumbedooh technically a violation of the HTTP protocol. In practice,
0d0ba3a410038e179b695446bb149cce6264e0abnd if a backend sends an interim response, it may itself be
0d0ba3a410038e179b695446bb149cce6264e0abnd extending the protocol in a manner we know nothing about,
0d0ba3a410038e179b695446bb149cce6264e0abnd or just broken. So this is now configurable: set
ac082aefa89416cbdc9a1836eaf3bed9698201c8humbedooh <code>proxy-interim-response RFC</code> to be fully protocol
0d0ba3a410038e179b695446bb149cce6264e0abnd compliant, or <code>proxy-interim-response Suppress</code>
0d0ba3a410038e179b695446bb149cce6264e0abnd to suppress interim responses.</dd>
0d0ba3a410038e179b695446bb149cce6264e0abnd <dt>proxy-initial-not-pooled</dt>
727872d18412fc021f03969b8641810d8896820bhumbedooh <dd>If this variable is set no pooled connection will be reused
0d0ba3a410038e179b695446bb149cce6264e0abnd if the client connection is an initial connection. This avoids
0d0ba3a410038e179b695446bb149cce6264e0abnd the "proxy: error reading status line from remote server" error message
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh caused by the race condition that the backend server closed the
07dc96d063d49299da433f84b5c5681da9bbdf68rbowen pooled connection after the connection check by the proxy and
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen before data sent by the proxy reached the backend. It has to be
0d0ba3a410038e179b695446bb149cce6264e0abnd kept in mind that setting this variable downgrades performance,
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd especially with HTTP/1.0 clients.
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd </dd>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd </dl>
6ae232055d4d8a97267517c5e50074c2c819941and</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="notes" id="notes">Request notes</a></h2>
<p><code class="module"><a href="/mod/mod_proxy_http.html">mod_proxy_http</a></code> creates the following request notes for
logging using the <code>%{VARNAME}n</code> format in
<code class="directive"><a href="/mod/mod_log_config.html#logformat">LogFormat</a></code> or
<code class="directive"><a href="/mod/core.html#errorlogformat">ErrorLogFormat</a></code>:
</p>
<dl>
<dt>proxy-source-port</dt>
<dd>The local port used for the connection to the backend server.</dd>
<dt>proxy-status</dt>
<dd>The HTTP status received from the backend server.</dd>
</dl>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="/en/mod/mod_proxy_http.html" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/mod/mod_proxy_http.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== undefined) {
prettyPrint();
}
//--><!]]></script>
</body></html>