github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/mod/mod_proxy_ftp.html.en (about)

     1  <?xml version="1.0" encoding="ISO-8859-1"?>
     2  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3  <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
     4  <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
     5  <!--
     6          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     7                This file is generated from xml source: DO NOT EDIT
     8          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     9        -->
    10  <title>mod_proxy_ftp - Apache HTTP Server Version 2.2</title>
    11  <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
    12  <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
    13  <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" />
    14  <script src="../style/scripts/prettify.min.js" type="text/javascript">
    15  </script>
    16  
    17  <link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/mod/mod_proxy_ftp.html" rel="canonical" /></head>
    18  <body>
    19  <div id="page-header">
    20  <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">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
    21  <p class="apache">Apache HTTP Server Version 2.2</p>
    22  <img alt="" src="../images/feather.gif" /></div>
    23  <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
    24  <div id="path">
    25  <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
    26  <div id="page-content">
    27  <div class="retired"><h4>Please note</h4>
    28              <p> This document refers to a legacy release (<strong>2.2</strong>) of Apache httpd. The active release (<strong>2.4</strong>) is documented <a href="http://httpd.apache.org/docs/current">here</a>. If you have not already upgraded, please follow <a href="http://httpd.apache.org/docs/current/upgrading.html">this link</a> for more information.</p>
    29          <p>You may follow <a href="http://httpd.apache.org/docs/current/mod/mod_proxy_ftp.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Apache Module mod_proxy_ftp</h1>
    30  <div class="toplang">
    31  <p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ftp.html" title="English">&nbsp;en&nbsp;</a> |
    32  <a href="../ja/mod/mod_proxy_ftp.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
    33  </div>
    34  <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>FTP support module for
    35  <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
    36  <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
    37  <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_ftp_module</td></tr>
    38  <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_ftp.c</td></tr></table>
    39  <h3>Summary</h3>
    40  
    41      <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the proxying
    42      FTP sites.  Note that FTP support is currently limited to
    43      the GET method.</p>
    44  
    45      <p>Thus, in order to get the ability of handling FTP proxy requests,
    46      <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>
    47      have to be present in the server.</p>
    48  
    49      <div class="warning"><h3>Warning</h3>
    50        <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy
    51        servers are dangerous both to your network and to the Internet at
    52        large.</p>
    53      </div>
    54  </div>
    55  <div id="quickview"><h3>Topics</h3>
    56  <ul id="topics">
    57  <li><img alt="" src="../images/down.gif" /> <a href="#mimetypes">Why doesn't file type <var>xxx</var>
    58      download via FTP?</a></li>
    59  <li><img alt="" src="../images/down.gif" /> <a href="#type">How can I force an FTP ASCII download of
    60      File <var>xxx</var>?</a></li>
    61  <li><img alt="" src="../images/down.gif" /> <a href="#ftpnonget">How can I do FTP upload?</a></li>
    62  <li><img alt="" src="../images/down.gif" /> <a href="#percent2fhck">How can I access FTP files outside
    63      of my home directory?</a></li>
    64  <li><img alt="" src="../images/down.gif" /> <a href="#ftppass">How can I hide the FTP cleartext password
    65      in my browser's URL line?</a></li>
    66  </ul><h3 class="directives">Directives</h3>
    67  <p>This module provides no
    68              directives.</p>
    69  <h3>See also</h3>
    70  <ul class="seealso">
    71  <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
    72  </ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
    73  <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    74  <div class="section">
    75  <h2><a name="mimetypes" id="mimetypes">Why doesn't file type <var>xxx</var>
    76      download via FTP?</a></h2>
    77        <p>You probably don't have that particular file type defined as
    78        <code>application/octet-stream</code> in your proxy's mime.types
    79        configuration file. A useful line can be</p>
    80  
    81        <div class="example"><pre>application/octet-stream   bin dms lha lzh exe class tgz taz</pre></div>
    82  	<p>Alternatively you may prefer to default everything to binary:</p>
    83        <div class="example"><pre>DefaultType application/octet-stream</pre></div>
    84      </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    85  <div class="section">
    86  <h2><a name="type" id="type">How can I force an FTP ASCII download of
    87      File <var>xxx</var>?</a></h2>
    88        <p>In the rare situation where you must download a specific file using the
    89        FTP <code>ASCII</code> transfer method (while the default transfer is in
    90        <code>binary</code> mode), you can override <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>'s
    91        default by suffixing the request with <code>;type=a</code> to force an
    92        ASCII transfer. (FTP Directory listings are always executed in ASCII mode,
    93        however.)</p>
    94      </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    95  <div class="section">
    96  <h2><a name="ftpnonget" id="ftpnonget">How can I do FTP upload?</a></h2>
    97  	<p>Currently, only GET is supported for FTP in mod_proxy.  You can
    98  	of course use HTTP upload (POST or PUT) through an Apache proxy.</p>
    99      </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   100  <div class="section">
   101  <h2><a name="percent2fhck" id="percent2fhck">How can I access FTP files outside
   102      of my home directory?</a></h2>
   103        <p>An FTP URI is interpreted relative to the home directory of the user
   104        who is logging in. Alas, to reach higher directory levels you cannot
   105        use /../, as the dots are interpreted by the browser and not actually
   106        sent to the FTP server. To address this problem, the so called <dfn>Squid
   107        %2f hack</dfn> was implemented in the Apache FTP proxy; it is a
   108        solution which is also used by other popular proxy servers like the <a href="http://www.squid-cache.org/">Squid Proxy Cache</a>. By
   109        prepending <code>/%2f</code> to the path of your request, you can make
   110        such a proxy change the FTP starting directory to <code>/</code> (instead
   111        of the home directory). For example, to retrieve the file
   112        <code>/etc/motd</code>, you would use the URL:</p>
   113  
   114        <div class="example"><p><code>
   115          ftp://<var>user</var>@<var>host</var>/%2f/etc/motd
   116        </code></p></div>
   117      </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   118  <div class="section">
   119  <h2><a name="ftppass" id="ftppass">How can I hide the FTP cleartext password
   120      in my browser's URL line?</a></h2>
   121        <p>To log in to an FTP server by username and password, Apache uses
   122        different strategies. In absense of a user name and password in the URL
   123        altogether, Apache sends an anonymous login to the FTP server,
   124        <em>i.e.</em>,</p>
   125  
   126        <div class="example"><p><code>
   127          user: anonymous<br />
   128          password: apache_proxy@
   129        </code></p></div>
   130  
   131        <p>This works for all popular FTP servers which are configured for
   132        anonymous access.</p>
   133  
   134        <p>For a personal login with a specific username, you can embed the user
   135        name into the URL, like in:</p>
   136  
   137        <div class="example"><p><code>
   138          ftp://<var>username</var>@<var>host</var>/myfile
   139        </code></p></div>
   140  
   141        <p>If the FTP server asks for a password when given this username (which
   142        it should), then Apache will reply with a <code>401</code> (Authorization
   143        required) response, which causes the Browser to pop up the
   144        username/password dialog. Upon entering the password, the connection
   145        attempt is retried, and if successful, the requested resource is
   146        presented. The advantage of this procedure is that your browser does not
   147        display the password in cleartext (which it would if you had used</p>
   148  
   149        <div class="example"><p><code>
   150          ftp://<var>username</var>:<var>password</var>@<var>host</var>/myfile
   151        </code></p></div>
   152  
   153        <p>in the first place).</p>
   154  
   155        <div class="note"><h3>Note</h3>
   156          <p>The password which is transmitted in such a way is not encrypted on
   157          its way. It travels between your browser and the Apache proxy server in
   158          a base64-encoded cleartext string, and between the Apache proxy and the
   159          FTP server as plaintext. You should therefore think twice before
   160          accessing your FTP server via HTTP (or before accessing your personal
   161          files via FTP at all!) When using insecure channels, an eavesdropper
   162          might intercept your password on its way.</p>
   163        </div>
   164      </div>
   165  </div>
   166  <div class="bottomlang">
   167  <p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ftp.html" title="English">&nbsp;en&nbsp;</a> |
   168  <a href="../ja/mod/mod_proxy_ftp.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
   169  </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">Comments</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>
   170  <script type="text/javascript"><!--//--><![CDATA[//><!--
   171  var comments_shortname = 'httpd';
   172  var comments_identifier = 'http://httpd.apache.org/docs/2.2/mod/mod_proxy_ftp.html';
   173  (function(w, d) {
   174      if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
   175          d.write('<div id="comments_thread"><\/div>');
   176          var s = d.createElement('script');
   177          s.type = 'text/javascript';
   178          s.async = true;
   179          s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
   180          (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
   181      }
   182      else { 
   183          d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
   184      }
   185  })(window, document);
   186  //--><!]]></script></div><div id="footer">
   187  <p class="apache">Copyright 2017 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
   188  <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">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
   189  if (typeof(prettyPrint) !== 'undefined') {
   190      prettyPrint();
   191  }
   192  //--><!]]></script>
   193  </body></html>