blob: e440002b07302873b4dc1a94e4e5664f3b213613 [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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=ISO-8859-1" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_proxy_ftp - Serveur Apache HTTP Version 2.4</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/directives.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 Apache HTTP Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_proxy_ftp.html" title="Français">&nbsp;fr&nbsp;</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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_proxy_ftp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;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></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 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></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></h2>
<p>Actuellement, seule la méthode GET est supportée pour FTP dans
mod_proxy. Vous pouvez en revanche 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></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></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></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">ProxyFtpListOnWildcard</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></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>jeu-caractères</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 du serveur, 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.2.7 d'Apache. 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></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>on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, 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></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>on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, 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).
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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_proxy_ftp.html" title="Français">&nbsp;fr&nbsp;</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&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again 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 Freenode, or sent to our <a href="http://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/2.4/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 2016 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/directives.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>