1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
<?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 : 1801594 -->
<!-- French translation : Lucien GENTIS -->
<!-- $LastChangedRevision: 2017071501 $ -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="mod_proxy_wstunnel.xml.meta">
<name>mod_proxy_wstunnel</name>
<description>Module pour <module>mod_proxy</module> supportant les
websockets</description>
<status>Extension</status>
<sourcefile>mod_proxy_wstunnel.c</sourcefile>
<identifier>proxy_wstunnel_module</identifier>
<compatibility>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</compatibility>
<summary>
<p>Pour utiliser ce module, <module>mod_proxy</module> 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 :</p>
<example><title>Réponse HTTP</title>
<highlight language="config">
Upgrade: WebSocket
Connection: Upgrade
</highlight>
</example>
<p>Le mandatement des requêtes vers un serveur websockets comme
<code>echo.websocket.org</code> peut être configuré via la directive <directive
type="ProxyPass" module="mod_proxy">ProxyPass</directive> :</p>
<highlight language="config">
ProxyPass "/ws2/" "ws://echo.websocket.org/"
ProxyPass "/wss2/" "wss://echo.websocket.org/"
</highlight>
<p>La répartition de charge entre plusieurs serveurs d'arrière-plan peut être
configurée via le module <module>mod_proxy_balancer</module>.</p>
<p>En fait, ce module permet d'accepter d'autres protocoles ; vous pouvez à cet
effet utiliser le paramètre <code>upgrade</code> de la directive <directive
type="ProxyPass" module="mod_proxy">ProxyPass</directive>. 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 <code>Upgrade</code>
va lire les en-têtes de la requête et les utilisera dans l'en-tête
<code>Upgrade</code> de la réponse.</p>
</summary>
<seealso><module>mod_proxy</module></seealso>
<directivesynopsis>
<name>ProxyWebsocketAsync</name>
<description>Création d'un tunnel asynchrone</description>
<syntax>ProxyWebsocketAsync ON|OFF</syntax>
<contextlist><context>server config</context>
<context>virtual host</context>
</contextlist>
<usage>
<p>Cette directive permet d'imposer la création d'un tunnel
asynchrone. Si le module MPM utilisé ne supporte pas les
fonctionnalités nécessaires, le tunnel est créé en mode synchrone.</p>
<note><title>Note</title><p>Le support du mode asynchrone est
au stade expérimental et est susceptible d'évoluer.</p></note>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>ProxyWebsocketIdleTimeout</name>
<description>Temps d'attente maximum pour des données sur le tunnel websockets</description>
<syntax>ProxyWebsocketIdleTimeout <var>num</var>[ms]</syntax>
<default>ProxyWebsocketIdleTimeout 0</default>
<contextlist><context>server config</context>
<context>virtual host</context>
</contextlist>
<usage>
<p>Cette directive permet de définir un temps maximum pendant lequel
le tunnel pourra rester ouvert et inactif. Par défaut, ce temps est exprimé
en secondes, mais vous pouvez le spécifier en millisecondes en utilisant le
suffixe <em>ms</em>.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>ProxyWebsocketAsyncDelay</name>
<description>Temps d'attente synchrone maximum pour des données</description>
<syntax>ProxyWebsocketAsyncDelay <var>num</var>[ms]</syntax>
<default>ProxyWebsocketAsyncDelay 0</default>
<contextlist><context>server config</context>
<context>virtual host</context>
</contextlist>
<usage>
<p>Si la directive <directive>ProxyWebsocketAsync</directive> est
activée, cette directive permet de définir le temps maximum pendant lequel
le serveur attendra des données en mode synchrone. Par défaut, ce temps est exprimé
en secondes, mais vous pouvez le spécifier en millisecondes en utilisant le
suffixe <em>ms</em>.</p>
<note><title>Note</title><p>Le support du mode asynchrone est
au stade expérimental et est susceptible d'évoluer.</p></note>
</usage>
</directivesynopsis>
</modulesynopsis>
|