Serveur HTTP Apache Version 2.4

| Description: | Module pour mod_proxysupportant 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 | 
Depuis la version 2.4.47 du serveur HTTP Apache, la promotion de
    protocole (tunneling) peut être pris en charge de manière plus efficace par
    mod_proxy_http.
Voir Promotion de protocole.
Pour utiliser ce module, mod_proxy doit être
    chargé. Il fournit le support du tunnelling pour les connexions
    websocket vers un serveur websockets d'arrière-plan. La connexion
    est automatiquement promue en connexion websocket :
Upgrade: WebSocket Connection: Upgrade
Le mandatement des requêtes vers un serveur websockets comme
echo.websocket.org peut être configuré via la directive ProxyPass :
ProxyPass "/ws2/" "ws://echo.websocket.org/" ProxyPass "/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 ProxyPass concernant les
websockets avant celle concernant HTTP :
ProxyPassMatch ^/(myApp/ws)$ ws://backend.example.com:9080/$1 ProxyPass / 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 :
ProxyPass / 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.
Ce module peut aussi être utilisé pour la promotion vers des protocoles autres
que WebSocket en définissant le paramètre upgrade de la directive ProxyPass avec un nom de
protocole particulier.
Les valeurs spéciales upgrade=NONE et upgrade=ANY
peuvent être utilisées pour tester ou forcer la promotion de protocole mais leur
utilisation n'est pas recommandée en production pour des
raisons de sécurité.
NONE signifie que la vérification de l'en-tête est omise mais que
la promotion (tunneling) vers WebSocket s'effectuera quand-même.
ANY signifie que la promotion (tunneling) s'effectuera en utilisant
tout protocole demandé par le client.
| Description: | Demande à ce module de laisser mod_proxy_httpgé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 peut
    gérer le tunneling et la mise à jour via les WebSockets en accord avec la
    RFC 7230 ; cette directive permet de définir si, pour ces actions,
    mod_proxy_wstunnel doit passer la main à
    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.