diff options
author | Yann Ylavic <ylavic@apache.org> | 2023-01-27 18:03:13 +0000 |
---|---|---|
committer | Yann Ylavic <ylavic@apache.org> | 2023-01-27 18:03:13 +0000 |
commit | 9167a021726c67d793228ae18745484d6cf56446 (patch) | |
tree | 39c411ba85e19ccab62e1d8446aab51dad6c19a2 | |
parent | ce4538399e784de61ca936d6f5ecd5fdbbfaf8da (diff) | |
download | httpd-9167a021726c67d793228ae18745484d6cf56446.tar.gz |
xforms [skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1907043 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | docs/manual/mod/mod_proxy.html.en | 31 | ||||
-rw-r--r-- | docs/manual/mod/mod_proxy.html.fr.utf8 | 2 | ||||
-rw-r--r-- | docs/manual/mod/mod_proxy.xml.fr | 2 | ||||
-rw-r--r-- | docs/manual/mod/mod_proxy.xml.ja | 2 | ||||
-rw-r--r-- | docs/manual/mod/mod_proxy.xml.meta | 2 | ||||
-rw-r--r-- | docs/manual/mod/mod_proxy_wstunnel.html.en | 27 | ||||
-rw-r--r-- | docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 | 2 | ||||
-rw-r--r-- | docs/manual/mod/mod_proxy_wstunnel.xml.fr | 2 | ||||
-rw-r--r-- | docs/manual/mod/mod_proxy_wstunnel.xml.meta | 2 |
9 files changed, 57 insertions, 15 deletions
diff --git a/docs/manual/mod/mod_proxy.html.en b/docs/manual/mod/mod_proxy.html.en index f52a80db5a..6d70b70464 100644 --- a/docs/manual/mod/mod_proxy.html.en +++ b/docs/manual/mod/mod_proxy.html.en @@ -219,6 +219,8 @@ ProxyVia On Require host internal.example.com </Proxy></pre> </div> + <div class="example"><h3><a id="wsupgrade" name="wsupgrade">Websocket Upgrade (2.4.47 and later)</a></h3><pre class="prettyprint lang-config">ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket</pre> +</div> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="handler" id="handler">Access via Handler</a></h2> @@ -1379,10 +1381,13 @@ ProxyPass "/mirror/foo" "http://backend.example.com"</pre> AJP connection.<br /> Available in Apache HTTP Server 2.4.42 and later. </td></tr> - <tr><td>upgrade</td> + <tr><td><a id="upgrade" name="upgrade">upgrade</a></td> <td>WebSocket</td> - <td><p>Protocol accepted in the Upgrade header by <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code>. - See the documentation of this module for more details.</p> + <td><p>Protocol accepted by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> or + <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> for the HTTP Upgrade mechanism + upon negotiation by the HTTP client/browser (per + <a href="https://www.ietf.org/rfc/rfc9110.html#name-upgrade">RFC 9110 - Upgrade</a>). + See the <a href="#protoupgrade">Protocol Upgrade</a> note below</p> </td></tr> <tr><td>mapping</td> <td>-</td> @@ -1605,6 +1610,26 @@ ProxyPassReverse "/mirror/foo/" "http://backend.example.com/" ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"</pre> + <div class="note"><h3><a id="protoupgrade" name="protoupgrade">Protocol Upgrade</a></h3> + <p>Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be handled + end-to-end by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> using the <code class="directive">ProxyPass</code> + parameter <var><a href="#upgrade">upgrade</a></var>.</p> + <p>End-to-end means that the HTTP Upgrade request from the client/browser is first + forwarded by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> to the origin server and the connection + will be upgraded (and tunneled by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>) only if the origin + server accepts/initiates the upgrade (HTTP response <code>101 Switching Protocols</code>). + If the origin server responds with anything else <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> + will continue forwarding (and enforcing) the HTTP protocol as usual for this + connection.</p> + <p>See <a href="#wsupgrade">Websocket Upgrade (2.4.47 and later)</a> for an example of + configuration using <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + <p>For Apache HTTP Server 2.4.46 and earlier (or if + <code class="directive"><a href="../mod/mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></code> + from 2.4.48 and later disables <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handling), see the + documentation of <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> for how to proxy the WebSocket + protocol.</p> + </div> + </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ProxyPassInherit" id="ProxyPassInherit">ProxyPassInherit</a> <a name="proxypassinherit" id="proxypassinherit">Directive</a></h2> diff --git a/docs/manual/mod/mod_proxy.html.fr.utf8 b/docs/manual/mod/mod_proxy.html.fr.utf8 index 6a98ee0ffc..303a6a4b53 100644 --- a/docs/manual/mod/mod_proxy.html.fr.utf8 +++ b/docs/manual/mod/mod_proxy.html.fr.utf8 @@ -30,6 +30,8 @@ <a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> | <a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> </div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Serveur mandataire/passerelle multi-protocole</td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_module</td></tr> diff --git a/docs/manual/mod/mod_proxy.xml.fr b/docs/manual/mod/mod_proxy.xml.fr index eeedc70411..cb37dd68ba 100644 --- a/docs/manual/mod/mod_proxy.xml.fr +++ b/docs/manual/mod/mod_proxy.xml.fr @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> -<!-- English Revision: 1901499 --> +<!-- English Revision: 1901499:1907042 (outdated) --> <!-- French translation : Lucien GENTIS --> <!-- Reviewed by : Vincent Deffontaines --> diff --git a/docs/manual/mod/mod_proxy.xml.ja b/docs/manual/mod/mod_proxy.xml.ja index f1a4c27761..809bf8d47c 100644 --- a/docs/manual/mod/mod_proxy.xml.ja +++ b/docs/manual/mod/mod_proxy.xml.ja @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> <?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?> -<!-- English Revision: 344971:1901499 (outdated) --> +<!-- English Revision: 344971:1907042 (outdated) --> <!-- Licensed to the Apache Software Foundation (ASF) under one or more diff --git a/docs/manual/mod/mod_proxy.xml.meta b/docs/manual/mod/mod_proxy.xml.meta index 38a79fdda7..f0185375d4 100644 --- a/docs/manual/mod/mod_proxy.xml.meta +++ b/docs/manual/mod/mod_proxy.xml.meta @@ -8,7 +8,7 @@ <variants> <variant>en</variant> - <variant>fr</variant> + <variant outdated="yes">fr</variant> <variant outdated="yes">ja</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_wstunnel.html.en b/docs/manual/mod/mod_proxy_wstunnel.html.en index 097c9ec577..9f0bfb8824 100644 --- a/docs/manual/mod/mod_proxy_wstunnel.html.en +++ b/docs/manual/mod/mod_proxy_wstunnel.html.en @@ -37,7 +37,14 @@ <tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.5 and later</td></tr></table> <h3>Summary</h3> - <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the tunnelling of web + <div class="warning"><h3><a id="deprecation" name="deprecation">Deprecation</a></h3> + <p>Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be better handled by + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + <p>See <a href="mod_proxy.html#protoupgrade">Protocol Upgrade</a>.</p> + </div> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. + It provides support for the tunnelling of web socket connections to a backend websockets server. The connection is automatically upgraded to a websocket connection:</p> @@ -73,12 +80,18 @@ RewriteRule ^/?(.*) "ws://example.com:9080/$1" [P,L]</pre> <p>Load balancing for multiple backends can be achieved using <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>.</p> -<p>In fact the module can be used to upgrade to other protocols, you can set the <code>upgrade</code> -parameter in the <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> -directive to allow the module to accept other protocol. -NONE means you bypass the check for the header but still upgrade to WebSocket. -ANY means that <code>Upgrade</code> will read in the request headers and use -in the response <code>Upgrade</code></p> +<p> +The module can also be used to upgrade to other protocols than WebSocket, by setting +the <var><a href="mod_proxy.html#upgrade">upgrade</a></var> parameter in the +<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> +directive to some custom protocol name. +Special <code>upgrade=NONE</code> and <code>upgrade=ANY</code> values may be used for +testing/forcing the upgrade but they are <strong>not recommended</strong> in production for +security reasons. +<code>NONE</code> means that the check for the header is omitted but still the upgrade/tunneling to +WebSocket always happens. +<code>ANY</code> means that the upgrade/tunneling will happen using any protocol asked by the client. +</p> </div> <div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> <ul id="toc"> diff --git a/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 b/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 index c4d4c4a759..9d91173c7a 100644 --- a/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 +++ b/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 @@ -29,6 +29,8 @@ <p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_wstunnel.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_proxy_wstunnel.html" title="Français"> fr </a></p> </div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> supportant les websockets</td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> diff --git a/docs/manual/mod/mod_proxy_wstunnel.xml.fr b/docs/manual/mod/mod_proxy_wstunnel.xml.fr index 78d558ac7f..7ad0e79b3c 100644 --- a/docs/manual/mod/mod_proxy_wstunnel.xml.fr +++ b/docs/manual/mod/mod_proxy_wstunnel.xml.fr @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> -<!-- English Revision: 1890113 --> +<!-- English Revision: 1890113:1907042 (outdated) --> <!-- French translation : Lucien GENTIS --> <!-- Reviewed by : Vincent Deffontaines --> diff --git a/docs/manual/mod/mod_proxy_wstunnel.xml.meta b/docs/manual/mod/mod_proxy_wstunnel.xml.meta index 6c0a516e2a..b54b72811c 100644 --- a/docs/manual/mod/mod_proxy_wstunnel.xml.meta +++ b/docs/manual/mod/mod_proxy_wstunnel.xml.meta @@ -8,6 +8,6 @@ <variants> <variant>en</variant> - <variant>fr</variant> + <variant outdated="yes">fr</variant> </variants> </metafile> |