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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_proxy_ftp - Serveur HTTP Apache Version 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_proxy_ftp</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ftp.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support FTP à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_ftp_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_ftp.c</td></tr></table>
<h3>Sommaire</h3>
<p>Pour pouvoir fonctionner, ce module <em>requiert</em> le
chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du
mandatement des sites FTP. Notez que le support FTP est
actuellement limité à la méthode GET.</p>
<p>Ainsi, pour pouvoir traiter les requêtes FTP mandatées,
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>
doivent être chargés dans le serveur.</p>
<div class="warning"><h3>Avertissement</h3>
<p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
votre réseau, mais aussi pour l'Internet au sens large.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#mimetypes">Pourquoi les fichiers du type
<var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#type">Comment puis-je forcer le téléchargement
FTP en mode ASCII du fichier <var>xxx</var> ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ftpnonget">Comment puis-je effectuer un
chargement FTP ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#percent2fhck">Comment puis-je accéder par FTP à
des fichiers situés en dehors de mon répertoire home ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ftppass">Comment puis-je dissimuler le mot de
passe FTP apparaissant en clair dans la ligne d'URL de mon
navigateur ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#wildcard">Pourquoi reçois-je un listing de
fichiers alors que j'ai demandé le téléchargement d'un fichier
?</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpdircharset">ProxyFtpDirCharset</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ftp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ftp">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="mimetypes" id="mimetypes">Pourquoi les fichiers du type
<var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a> <a title="Lien permanent" href="#mimetypes" class="permalink">¶</a></h2>
<p>Ce type particulier de fichier n'est probablement pas défini en
temps que <code>application/octet-stream</code> dans le fichier
de configuration mime.types de votre mandataire. La ligne suivante
peut y remédier :</p>
<div class="example"><pre>application/octet-stream bin dms lha lzh exe class tgz taz</pre></div>
<p>Vous pouvez aussi utiliser la directive <code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code> pour définir par défaut tous les types
de fichiers en tant que fichiers binaires :</p>
<div class="example"><pre class="prettyprint lang-config">ForceType application/octet-stream</pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="type" id="type">Comment puis-je forcer le téléchargement
FTP en mode ASCII du fichier <var>xxx</var> ?</a> <a title="Lien permanent" href="#type" class="permalink">¶</a></h2>
<p>Dans les rares siruations où vous devez télécharger un fichier
spécifique en utilisant la méthode de transfert FTP
<code>ASCII</code> (alors que le mode transfert par défaut est
<code>binary</code>), vous pouvez modifier le mode de transfert de
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> en suffixant la requête avec
<code>;type=a</code> pour forcer un transfert en mode ASCII (les
listings de répertoires FTP sont cependant quant à eux transmis en
mode ASCII).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="ftpnonget" id="ftpnonget">Comment puis-je effectuer un
chargement FTP ?</a> <a title="Lien permanent" href="#ftpnonget" class="permalink">¶</a></h2>
<p>Actuellement, seule la méthode GET est supportée pour FTP dans
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Vous pouvez par contre utiliser le chargement HTTP (POST
or PUT) via un mandataire Apache.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="percent2fhck" id="percent2fhck">Comment puis-je accéder par FTP à
des fichiers situés en dehors de mon répertoire home ?</a> <a title="Lien permanent" href="#percent2fhck" class="permalink">¶</a></h2>
<p>Un URI FTP est considéré comme relatif au répertoire home de
l'utilisateur connecté. Hélas, vous ne pouvez pas utiliser /../
pour atteindre des répertoires de niveau supérieur, car les points
sont interprétés par le navigateur et ne sont donc pas vraiment
envoyés au serveur FTP. Pour traiter ce problème, une méthode
nommée <dfn>Squid %2f hack</dfn> a été implémentée dans le
mandataire FTP Apache ; cette solution est aussi utilisée par
d'autres serveurs mandataires courants comme le <a href="http://www.squid-cache.org/">Cache mandataire Squid</a>. En
préfixant par <code>/%2f</code> le chemin de votre requête, vous
pouvez faire en sorte que le mandataire modifie le répertoire FTP
racine en <code>/</code> (au lieu du répertoire home). Par
exemple, pour extraire le fichier <code>/etc/motd</code>, vous
pourriez utiliser l'URL :</p>
<div class="example"><p><code>
ftp://<var>utilisateur</var>@<var>serveur</var>/%2f/etc/motd
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="ftppass" id="ftppass">Comment puis-je dissimuler le mot de
passe FTP apparaissant en clair dans la ligne d'URL de mon
navigateur ?</a> <a title="Lien permanent" href="#ftppass" class="permalink">¶</a></h2>
<p>Apache utilise différentes stratégies pour effectuer une
connexion à un serveur FTP à l'aide d'un nom d'utilisateur et d'un
mot de passe. En l'absence de nom d'utilisateur et de mot de passe
dans l'URL, Apache tente une connexion anonyme auprès du serveur
FTP comme suit :</p>
<div class="example"><p><code>
utilisateur : anonymous<br />
mot de passe : apache-proxy@
</code></p></div>
<p>Ceci fonctionne avec tous les serveurs FTP courants configurés
pour accepter les connexions anonymes.</p>
<p>Pour une connexion personnalisée avec un nom d'utilisateur
spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit
:</p>
<div class="example"><p><code>
ftp://<var>nom-utilisateur</var>@<var>serveur</var>/mon-fichier
</code></p></div>
<p>Si le serveur FTP demande un mot de passe pour ce nom
d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au
client une réponse <code>401</code> (Autorisation requise), ce qui
fera afficher au navigateur une boîte de dialogue utilisateur/mot
de passe. Une fois le mot de passe saisi, la connexion est tentée
à nouveau, et si elle réussit, la ressource demandée est
présentée. L'avantage de cette procédure réside dans le fait que
votre navigateur n'affiche pas le mot de passe en clair, ce qu'il
aurait fait si vous aviez utilisé l'URL :</p>
<div class="example"><p><code>
ftp://<var>nom-utilisateur</var>:<var>mot-de-passe</var>@<var>serveur</var>/mon-fichier
</code></p></div>
<div class="note"><h3>Note</h3>
<p>Le mot de passe transmis de cette manière n'est pas chiffré
lorsqu'il est envoyé. Il transite entre votre navigateur et le
serveur mandataire Apache sous la forme d'une chaîne de texte en
clair codée en base64, et entre le mandataire Apache et le
serveur FTP en texte pur. Vous devez par conséquent réfléchir à
deux fois avant d'accéder à votre serveur FTP via HTTP (et d'une
manière générale avant d'accéder à vos fichiers personnels via
FTP !) sur des canaux non sécurisés, car des oreilles
indiscrètes pourraient intercepter votre mot de passe au cours
de son transfert.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="wildcard" id="wildcard">Pourquoi reçois-je un listing de
fichiers alors que j'ai demandé le téléchargement d'un fichier
?</a> <a title="Lien permanent" href="#wildcard" class="permalink">¶</a></h2>
<p>Apache examine l'URL de la requête afin de permettre la
navigation dans les répertoires d'un serveur FTP ainsi que le
téléchargement de fichiers. Si elle ressemble à un répertoire, ou
contient des caractères génériques ("*?[{~"), alors Apache
considère que c'est un listing qui est demandé, et non un
téléchargement.</p>
<p>Vous pouvez désactiver le traitement spécial des noms contenant
des caractères génériques. Voir à cet effet la directive
<code class="directive"><a href="#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></code>.
</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyftpdircharset" id="proxyftpdircharset">Directive</a> <a name="ProxyFtpDirCharset" id="ProxyFtpDirCharset">ProxyFtpDirCharset</a> <a title="Lien permanent" href="#proxyftpdircharset" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le jeu de caractères des listings FTP
mandatés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpDirCharset <var>character_set</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpDirCharset ISO-8859-1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Déplacé
depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir de la version 2.3.5 d'Apache</td></tr>
</table>
<p>La directive <code class="directive">ProxyFtpDirCharset</code> permet de
définir le jeu de caractères à utiliser pour les listings FTP en
HTML générés par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyftpescapewildcards" id="proxyftpescapewildcards">Directive</a> <a name="ProxyFtpEscapeWildcards" id="ProxyFtpEscapeWildcards">ProxyFtpEscapeWildcards</a> <a title="Lien permanent" href="#proxyftpescapewildcards" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers
doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpEscapeWildcards on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpEscapeWildcards on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive">ProxyFtpEscapeWildcards</code> permet
de déterminer si les caractères génériques ("*?[{~") que contiennent
les noms de fichiers demandés doivent être échappés pas un slash
inversé avant d'être envoyés au serveur FTP. Il s'agit du comportement
par défaut ; cependant, de nombreux serveurs FTP n'ont aucune
connaissance de la notion d'échappement, et tentent de servir le
fichier demandé sous sa forme littérale, en incluant les slashes
inversés dans son nom.</p>
<p>Définissez cette directive à "off" pour permettre le
téléchargement de fichiers dont les noms contiennent des caractères
génériques depuis des serveurs FTP qui ne connaissent pas
l'échappement des caractères génériques.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyftplistonwildcard" id="proxyftplistonwildcard">Directive</a> <a name="ProxyFtpListOnWildcard" id="ProxyFtpListOnWildcard">ProxyFtpListOnWildcard</a> <a title="Lien permanent" href="#proxyftplistonwildcard" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers
demandés doivent-ils déclencher l'affichage d'un listing ?</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpListOnWildcard on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpListOnWildcard on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive">ProxyFtpListOnWildcard</code> permet
de déterminer si les caractères génériques ("*?[{~") que contiennent
les noms de fichiers demandés provoquent l'affichage d'un listing de
fichiers par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> au lieu de télécharger un
fichier. Il s'agit de leur comportement par défaut (valeur on).</p>
<p>Définissez cette directive à "off" pour permettre le téléchargement de
fichiers même si leur nom contient des caractères génériques.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ftp.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 moderators 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 <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_proxy_ftp.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|