<-
Apache > Serveur HTTP > Documentation > Modules

Module Apache mod_proxy_wstunnel 5i72i

Langues Disponibles:  fr 

Description: Module pour mod_proxy ant les websockets
Statut: Extension
Identificateur de Module: proxy_wstunnel_module
Fichier Source: mod_proxy_wstunnel.c
Compatibilité: Disponible à partir de la version 2.4.5 du serveur HTTP Apache

Sommaire 2j3d6p

Pour utiliser ce module, mod_proxy doit être chargé. Il fournit le du tunnelling pour les connexions websocket vers un serveur websockets d'arrière-plan. La connexion est automatiquement promue en connexion websocket :

Réponse HTTP d4l4w

Upgrade: WebSocket
Connection: Upgrade

Le mandatement des requêtes vers un serveur websockets comme echo.websocket.org peut être configuré via la directive Proxy :

Proxy "/ws2/"  "ws://echo.websocket.org/"
Proxy "/wss2/" "wss://echo.websocket.org/"

Il est possible de mandater les websockets et HTTP en même temps, avec un jeu spécifique d'URLs pour les websockets, en définissant la directive Proxy concernant les websockets avant celle concernant HTTP :

ProxyMatch ^/(myApp/ws)$  ws://backend.example.com:9080/$1
Proxy / http://backend.example.com:9080/

Il est possible de mandater les websockets et HTTP en même temps, lorsque les URLs websockets ne concernent pas uniquement les websockets ou ne sont pas connues à l'avance, en utilisant la directive RewriteRule pour configurer le mandatement des websockets :

Proxy / http://example.com:9080/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://example.com:9080/$1" [P,L]

La répartition de charge entre plusieurs serveurs d'arrière-plan peut être configurée via le module mod_proxy_balancer.

En fait, ce module permet d'accepter d'autres protocoles ; vous pouvez à cet effet utiliser le paramètre upgrade de la directive Proxy. La valeur NONE signifie que vous court-circuitez la consultation de l'en-tête, mais que vous autorisez quand-même WebSocket. La valeur ANY signifie que Upgrade va lire les en-têtes de la requête et les utilisera dans l'en-tête Upgrade de la réponse.

 Apache!

Directives 1a4l6m

Traitement des bugs 42h5l

Voir aussi 1m6745

top

Directive ProxyWebsocketFallbackToProxyHttp 3m2s3n

Description: Demande à ce module de laisser mod_proxy_http gérer la requête
Syntaxe: ProxyWebsocketFallbackToProxyHttp On|Off
Défaut: ProxyWebsocketFallbackToProxyHttp On
Contexte: configuration globale, serveur virtuel
Statut: Extension
Module: mod_proxy_wstunnel
Compatibilité: Disponible à partir de la version 2.4.48 du serveur HTTP Apache

Depuis la version 2.4.47 de httpd, mod_proxy_http, ce qui est le cas par défaut.

Définir cette directive à Off revient à laisser mod_proxy_wstunnel gérer les requêtes WebSocket, comme avec les versions 2.4.46 et antérieures de httpd.

Langues Disponibles:  fr 

top

Commentaires 3r6j1f

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our s if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.