<?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.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 HTTP Apache 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"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><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 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></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
    <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></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"><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></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>Disponible à partir de la version 2.2.7 du serveur HTTP Apache. Déplacé
depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir de la version 2.3.5</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>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></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/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 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/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>