<?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="&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.5</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> <a title="Lien permanent" href="#mimetypes" class="permalink">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&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 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 2025 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>