From: Yann Ylavic Date: Fri, 27 Jan 2023 16:47:28 +0000 (+0000) Subject: docs: Add deprecation note for wstunnel, move Upgrade example up for proxy_http. X-Git-Tag: 2.5.0-alpha2-ci-test-only~134 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64a17319f9dbdd0f20c3e605cff76e76903a182d;p=thirdparty%2Fapache%2Fhttpd.git docs: Add deprecation note for wstunnel, move Upgrade example up for proxy_http. [skip ci] git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1907035 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_proxy.xml b/docs/manual/mod/mod_proxy.xml index cf0653cd95a..e73b3abbebc 100644 --- a/docs/manual/mod/mod_proxy.xml +++ b/docs/manual/mod/mod_proxy.xml @@ -170,6 +170,11 @@ ProxyVia On <Proxy *> Require host internal.example.com </Proxy> + + + <a id="wsupgrade" name="wsupgrade">Websocket Upgrade (2.4.47 and later)</a> + +ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket @@ -1505,26 +1510,23 @@ ProxyPassReverse "/mirror/foo/" "https://backend.example.com/" <a id="protoupgrade" name="protoupgrade">Protocol Upgrade</a> -

Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be handled - end-to-end by mod_proxy_http using the ProxyPass - parameter upgrade.

-

End-to-end means that the HTTP Upgrade request from the client/browser is first - forwarded by mod_proxy_http to the origin server and the connection - will be upgraded (and tunneled by mod_proxy_http) only if the origin - server accepts/initiates the upgrade (HTTP response 101 Switching Protocols). - If the origin server responds with anything else mod_proxy_http - will continue forwarding (and enforcing) the HTTP protocol as usual for this - connection.

- Example - -ProxyPass "/some/http/or/ws/path/" "http://example.com/some/http/or/ws/path/" upgrade=websocket - - -

For Apache HTTP Server 2.4.46 and earlier (or if - ProxyWebsocketFallbackToProxyHttp - from 2.4.48 and later disables mod_proxy_http handling), see the - documentation of mod_proxy_wstunnel for how to proxy the WebSocket - protocol.

+

Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be handled + end-to-end by mod_proxy_http using the ProxyPass + parameter upgrade.

+

End-to-end means that the HTTP Upgrade request from the client/browser is first + forwarded by mod_proxy_http to the origin server and the connection + will be upgraded (and tunneled by mod_proxy_http) only if the origin + server accepts/initiates the upgrade (HTTP response 101 Switching Protocols). + If the origin server responds with anything else mod_proxy_http + will continue forwarding (and enforcing) the HTTP protocol as usual for this + connection.

+

See Websocket Upgrade (2.4.47 and later) for an example of + configuration using mod_proxy_http.

+

For Apache HTTP Server 2.4.46 and earlier (or if + ProxyWebsocketFallbackToProxyHttp + from 2.4.48 and later disables mod_proxy_http handling), see the + documentation of mod_proxy_wstunnel for how to proxy the WebSocket + protocol.

diff --git a/docs/manual/mod/mod_proxy_wstunnel.xml b/docs/manual/mod/mod_proxy_wstunnel.xml index e638ae03304..2f726349c3c 100644 --- a/docs/manual/mod/mod_proxy_wstunnel.xml +++ b/docs/manual/mod/mod_proxy_wstunnel.xml @@ -31,8 +31,8 @@ Available in httpd 2.4.5 and later -

This module requires the service of mod_proxy. It provides support for the tunnelling of web +

This module requires the service of mod_proxy. + It provides support for the tunnelling of web socket connections to a backend websockets server. The connection is automatically upgraded to a websocket connection:

@@ -67,6 +67,12 @@ 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 Upgrade will read in the request headers and use in the response Upgrade

+ + <a id="deprecation" name="deprecation">Deprecation</a> +

Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be better handled by + mod_proxy_http.

+

See Protocol Upgrade.

+
mod_proxy