<Proxy *>
Require host internal.example.com
</Proxy>
+ </highlight>
+ </example>
+ <example><title><a id="wsupgrade" name="wsupgrade">Websocket Upgrade (2.4.47 and later)</a></title>
+ <highlight language="config">
+ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket
</highlight>
</example>
</section> <!-- /examples -->
</highlight>
<note><title><a id="protoupgrade" name="protoupgrade">Protocol Upgrade</a></title>
- <p>Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be handled
- end-to-end by <module>mod_proxy_http</module> using the <directive>ProxyPass</directive>
- 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 <module>mod_proxy_http</module> to the origin server and the connection
- will be upgraded (and tunneled by <module>mod_proxy_http</module>) only if the origin
- server accepts/initiates the upgrade (HTTP response <code>101 Switching Protocols</code>).
- If the origin server responds with anything else <module>mod_proxy_http</module>
- will continue forwarding (and enforcing) the HTTP protocol as usual for this
- connection.</p>
- <example><title>Example</title>
- <highlight language="config">
-ProxyPass "/some/http/or/ws/path/" "http://example.com/some/http/or/ws/path/" upgrade=websocket
- </highlight>
- </example>
- <p>For Apache HTTP Server 2.4.46 and earlier (or if
- <directive module="mod_proxy_wstunnel">ProxyWebsocketFallbackToProxyHttp</directive>
- from 2.4.48 and later disables <module>mod_proxy_http</module> handling), see the
- documentation of <module>mod_proxy_wstunnel</module> for how to proxy the WebSocket
- protocol.</p>
+ <p>Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be handled
+ end-to-end by <module>mod_proxy_http</module> using the <directive>ProxyPass</directive>
+ 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 <module>mod_proxy_http</module> to the origin server and the connection
+ will be upgraded (and tunneled by <module>mod_proxy_http</module>) only if the origin
+ server accepts/initiates the upgrade (HTTP response <code>101 Switching Protocols</code>).
+ If the origin server responds with anything else <module>mod_proxy_http</module>
+ 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 <module>mod_proxy_http</module>.</p>
+ <p>For Apache HTTP Server 2.4.46 and earlier (or if
+ <directive module="mod_proxy_wstunnel">ProxyWebsocketFallbackToProxyHttp</directive>
+ from 2.4.48 and later disables <module>mod_proxy_http</module> handling), see the
+ documentation of <module>mod_proxy_wstunnel</module> for how to proxy the WebSocket
+ protocol.</p>
</note>
</usage>
</directivesynopsis>
<compatibility>Available in httpd 2.4.5 and later</compatibility>
<summary>
- <p>This module <em>requires</em> the service of <module
- >mod_proxy</module>. It provides support for the tunnelling of web
+ <p>This module <em>requires</em> the service of <module >mod_proxy</module>.
+ 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>
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>
+
+ <note type="warning"><title><a id="deprecation" name="deprecation">Deprecation</a></title>
+ <p>Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be better handled by
+ <module>mod_proxy_http</module>.</p>
+ <p>See <a href="mod_proxy.html#protoupgrade">Protocol Upgrade</a>.</p>
+ </note>
</summary>
<seealso><module>mod_proxy</module></seealso>