diff options
author | Joshua Slive <slive@apache.org> | 2000-09-27 20:36:46 +0200 |
---|---|---|
committer | Joshua Slive <slive@apache.org> | 2000-09-27 20:36:46 +0200 |
commit | 02faee3869b1dbc632cfc7faf3cabfa43604915e (patch) | |
tree | 4d4b601cea4c294c815a2c0c630d7f389eb508c9 /docs/manual/mod/mod_proxy.html | |
parent | Style update. (diff) | |
download | apache2-02faee3869b1dbc632cfc7faf3cabfa43604915e.tar.xz apache2-02faee3869b1dbc632cfc7faf3cabfa43604915e.zip |
Style changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86343 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/mod/mod_proxy.html')
-rw-r--r-- | docs/manual/mod/mod_proxy.html | 268 |
1 files changed, 141 insertions, 127 deletions
diff --git a/docs/manual/mod/mod_proxy.html b/docs/manual/mod/mod_proxy.html index e7ec704d1a..4b1551793c 100644 --- a/docs/manual/mod/mod_proxy.html +++ b/docs/manual/mod/mod_proxy.html @@ -15,17 +15,29 @@ <!--#include virtual="header.html" --> <H1 ALIGN="CENTER">Apache module mod_proxy</H1> -This module is contained in the <CODE>mod_proxy.c</CODE> file for Apache 1.1.x, -or the <CODE>modules/proxy</CODE> subdirectory for Apache 1.2, and -is not compiled in by default. It provides for an <STRONG>HTTP -1.0</STRONG> caching proxy -server. It is only available in Apache 1.1 and later. Common configuration -questions are addressed <A HREF="#configs">after the directive -descriptions</A>. - -<H3>Note:</H3> -<P>This module was experimental in Apache 1.1.x. As of Apache 1.2, mod_proxy -stability is <EM>greatly</EM> improved.<P> +<p>This module provides for an <STRONG>HTTP 1.0</STRONG> caching proxy +server.</p> + +<P><A +HREF="module-dict.html#Status" +REL="Help" +><STRONG>Status:</STRONG></A> Extension +<BR> +<A +HREF="module-dict.html#SourceFile" +REL="Help" +><STRONG>Source File:</STRONG></A> mod_proxy.c +<BR> +<A +HREF="module-dict.html#ModuleIdentifier" +REL="Help" +><STRONG>Module Identifier:</STRONG></A> proxy_module +<BR> +<A +HREF="module-dict.html#Compatibility" +REL="Help" +><STRONG>Compatibility:</STRONG></A> Available in Apache 1.1 and later. +</P> <H2>Summary</H2> @@ -38,6 +50,10 @@ proxying capability for The module can be configured to connect to other proxy modules for these and other protocols. +<P>This module was experimental in Apache 1.1.x. As of Apache 1.2, mod_proxy +stability is <EM>greatly</EM> improved.<P> + + <H2>Directives</H2> <UL> <LI><A HREF="#proxyrequests">ProxyRequests</A> @@ -62,9 +78,103 @@ and other protocols. <LI><A HREF="#nocache">NoCache</A> </UL> +<H2><A NAME="configs">Common configuration topics</A></H2> + +<UL> +<LI><A HREF="#access">Controlling access to your proxy</A> +<LI><A HREF="#shortname">Using Netscape hostname shortcuts</A> +<LI><A HREF="#mimetypes">Why doesn't file type <EM>xxx</EM> download via FTP?</A> +<LI><A HREF="#startup">Why does Apache start more slowly when using the + proxy module?</A> +<LI><A HREF="#socks">Can I use the Apache proxy module with my SOCKS proxy?</A> +<LI><A HREF="#intranet">What other functions are useful for an intranet proxy server?</A> +</UL> + +<H2><A NAME="access">Controlling access to your proxy</A></H2> + +You can control who can access your proxy via the normal <Directory> +control block using the following example:<P> + +<PRE> +<Directory proxy:*> +Order Deny,Allow +Deny from [machines you'd like *not* to allow by IP address or name] +Allow from [machines you'd like to allow by IP address or name] +</Directory> +</PRE><P> + +A <Files> block will also work, and is the only method known to work +for all possible URLs in Apache versions earlier than 1.2b10.<P> + +<H2><A NAME="shortname">Using Netscape hostname shortcuts</A></H2> + +There is an optional patch to the proxy module to allow Netscape-like +hostname shortcuts to be used. It's available from the +<A HREF="http://www.apache.org/dist/contrib/patches/1.2/netscapehost.patch" +><SAMP>contrib/patches/1.2</SAMP></A> directory on the Apache Web site.<P> + +<H2><A NAME="mimetypes">Why doesn't file type <EM>xxx</EM> download via FTP?</A></H2> + +You probably don't have that particular file type defined as +<EM>application/octet-stream</EM> in your proxy's mime.types configuration +file. A useful line can be<P> + +<PRE> +application/octet-stream bin dms lha lzh exe class tgz taz +</PRE> + +<H2><A NAME="type">How can I force an FTP ASCII download of File <EM>xxx</EM>?</A></H2> + +In the rare situation where you must download a specific file using the FTP +<STRONG>ASCII</STRONG> transfer method (while the default transfer is in +<STRONG>binary</STRONG> mode), you can override mod_proxy's default by +suffixing the request with <SAMP>;type=a</SAMP> to force an ASCII transfer.<P> + +<H2><A NAME="startup">Why does Apache start more slowly when using the + proxy module?</A></H2> + +If you're using the <CODE>ProxyBlock</CODE> or <CODE>NoCache</CODE> +directives, hostnames' IP addresses are looked up and cached during +startup for later match test. This may take a few seconds (or more) +depending on the speed with which the hostname lookups occur.<P> + +<H2><A NAME="socks">Can I use the Apache proxy module with my SOCKS proxy?</A></H2> + +Yes. Just build Apache with the rule <CODE>SOCKS4=yes</CODE> in your +<EM>Configuration</EM> file, and follow the instructions there. SOCKS5 +capability can be added in a similar way (there's no <CODE>SOCKS5</CODE> +rule yet), so use the <CODE>EXTRA_LDFLAGS</CODE> definition, or build Apache +normally and run it with the <EM>runsocks</EM> wrapper provided with SOCKS5, +if your OS supports dynamically linked libraries.<P> + +Some users have reported problems when using SOCKS version 4.2 on Solaris. +The problem was solved by upgrading to SOCKS 4.3.<P> + +Remember that you'll also have to grant access to your Apache proxy machine by +permitting connections on the appropriate ports in your SOCKS daemon's +configuration.<P> + +<H2><A NAME="intranet">What other functions are useful for an intranet proxy server?</A></H2> + +<P>An Apache proxy server situated in an intranet needs to forward external +requests through the company's firewall. However, when it has to access +resources within the intranet, it can bypass the firewall when accessing +hosts. The <A HREF="#noproxy">NoProxy</A> directive is useful for specifying +which hosts belong to the intranet and should be accessed directly.</P> + +<P>Users within an intranet tend to omit the local domain name from their +WWW requests, thus requesting "http://somehost/" instead of +"http://somehost.my.dom.ain/". Some commercial proxy servers let them get +away with this and simply serve the request, implying a configured +local domain. When the <A HREF="#proxydomain">ProxyDomain</A> directive +is used and the server is <A HREF="#proxyrequests">configured for +proxy service</A>, Apache can return a redirect response and send the client +to the correct, fully qualified, server address. This is the preferred method +since the user's bookmark files will then contain fully qualified hosts.</P> + <HR> -<H2><A NAME="proxyrequests">ProxyRequests</A></H2> +<H2><A NAME="proxyrequests">ProxyRequests</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -101,7 +211,7 @@ HREF="#proxypass">ProxyPass</A> directive. <HR> -<H2><A NAME="proxyremote">ProxyRemote</A></H2> +<H2><A NAME="proxyremote">ProxyRemote</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -158,7 +268,7 @@ them. <HR> -<H2><A NAME="proxypass">ProxyPass</A></H2> +<H2><A NAME="proxypass">ProxyPass</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -205,7 +315,7 @@ internally converted into a proxy request to <HR> -<H2><A NAME="proxypassreverse">ProxyPassReverse</A></H2> +<H2><A NAME="proxypassreverse">ProxyPassReverse</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -270,7 +380,7 @@ conjunction with the proxy pass-through feature ("<SAMP>RewriteRule ... <HR> -<H2><A NAME="allowconnect">AllowCONNECT</A></H2> +<H2><A NAME="allowconnect">AllowCONNECT</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -312,7 +422,7 @@ listed ports only. <HR> -<H2><A NAME="proxyblock">ProxyBlock</A></H2> +<H2><A NAME="proxyblock">ProxyBlock</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -368,7 +478,7 @@ blocks connections to all sites. <HR> -<H2><A NAME="proxyreceivebuffersize">ProxyReceiveBufferSize</A></H2> +<H2><A NAME="proxyreceivebuffersize">ProxyReceiveBufferSize</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -413,7 +523,7 @@ Example: <HR> -<H2><A NAME="noproxy">NoProxy</A></H2> +<H2><A NAME="noproxy">NoProxy</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -550,7 +660,7 @@ The arguments to the NoProxy directive are one of the following type list: <HR> -<H2><A NAME="proxydomain">ProxyDomain</A></H2> +<H2><A NAME="proxydomain">ProxyDomain</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -597,7 +707,7 @@ Example: <HR> -<H2><A NAME="proxyvia">ProxyVia</A></H2> +<H2><A NAME="proxyvia">ProxyVia</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -649,7 +759,7 @@ additionally have the Apache server version shown as a <SAMP>Via:</SAMP> comment <HR> -<H2><A NAME="cacheforcecompletion">CacheForceCompletion</A></H2> +<H2><A NAME="cacheforcecompletion">CacheForceCompletion</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -690,7 +800,7 @@ was allowed to complete. A number between 60 and 90 is recommended. <HR> -<H2><A NAME="cacheroot">CacheRoot</A></H2> +<H2><A NAME="cacheroot">CacheRoot</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -731,7 +841,7 @@ cacheing will be available. <HR> -<H2><A NAME="cachesize">CacheSize</A></H2> +<H2><A NAME="cachesize">CacheSize</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -770,7 +880,7 @@ use a value which is at least 20 to 40 % lower than the available space. <HR> -<H2><A NAME="cachegcinterval">CacheGcInterval</A></H2> +<H2><A NAME="cachegcinterval">CacheGcInterval</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -815,7 +925,7 @@ the cache resides is exhausted. --> <HR> -<H2><A NAME="cachemaxexpire">CacheMaxExpire</A></H2> +<H2><A NAME="cachemaxexpire">CacheMaxExpire</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -853,7 +963,7 @@ was supplied with the document. <HR> -<H2><A NAME="cachelastmodifiedfactor">CacheLastModifiedFactor</A></H2> +<H2><A NAME="cachelastmodifiedfactor">CacheLastModifiedFactor</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -897,7 +1007,7 @@ then the latter takes precedence. <HR> -<H2><A NAME="cachedirlevels">CacheDirLevels</A></H2> +<H2><A NAME="cachedirlevels">CacheDirLevels</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -933,7 +1043,7 @@ Cached data will be saved this many directory levels below CacheRoot. <HR> -<H2><A NAME="cachedirlength">CacheDirLength</A></H2> +<H2><A NAME="cachedirlength">CacheDirLength</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -968,7 +1078,7 @@ CacheDirLength sets the number of characters in proxy cache subdirectory names. <HR> -<H2><A NAME="cachedefaultexpire">CacheDefaultExpire</A></H2> +<H2><A NAME="cachedefaultexpire">CacheDefaultExpire</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -1006,7 +1116,7 @@ override this setting. <HR> -<H2><A NAME="nocache">NoCache</A></H2> +<H2><A NAME="nocache">NoCache</A> directive</H2> <A HREF="directive-dict.html#Syntax" REL="Help" @@ -1060,102 +1170,6 @@ NoCache * disables caching completely.<P> -<HR> - -<H2><A NAME="configs">Common configuration topics</A></H2> - -<UL> -<LI><A HREF="#access">Controlling access to your proxy</A> -<LI><A HREF="#shortname">Using Netscape hostname shortcuts</A> -<LI><A HREF="#mimetypes">Why doesn't file type <EM>xxx</EM> download via FTP?</A> -<LI><A HREF="#startup">Why does Apache start more slowly when using the - proxy module?</A> -<LI><A HREF="#socks">Can I use the Apache proxy module with my SOCKS proxy?</A> -<LI><A HREF="#intranet">What other functions are useful for an intranet proxy server?</A> -</UL> - -<H2><A NAME="access">Controlling access to your proxy</A></H2> - -You can control who can access your proxy via the normal <Directory> -control block using the following example:<P> - -<PRE> -<Directory proxy:*> -Order Deny,Allow -Deny from [machines you'd like *not* to allow by IP address or name] -Allow from [machines you'd like to allow by IP address or name] -</Directory> -</PRE><P> - -A <Files> block will also work, and is the only method known to work -for all possible URLs in Apache versions earlier than 1.2b10.<P> - -<H2><A NAME="shortname">Using Netscape hostname shortcuts</A></H2> - -There is an optional patch to the proxy module to allow Netscape-like -hostname shortcuts to be used. It's available from the -<A HREF="http://www.apache.org/dist/contrib/patches/1.2/netscapehost.patch" -><SAMP>contrib/patches/1.2</SAMP></A> directory on the Apache Web site.<P> - -<H2><A NAME="mimetypes">Why doesn't file type <EM>xxx</EM> download via FTP?</A></H2> - -You probably don't have that particular file type defined as -<EM>application/octet-stream</EM> in your proxy's mime.types configuration -file. A useful line can be<P> - -<PRE> -application/octet-stream bin dms lha lzh exe class tgz taz -</PRE> - -<H2><A NAME="type">How can I force an FTP ASCII download of File <EM>xxx</EM>?</A></H2> - -In the rare situation where you must download a specific file using the FTP -<STRONG>ASCII</STRONG> transfer method (while the default transfer is in -<STRONG>binary</STRONG> mode), you can override mod_proxy's default by -suffixing the request with <SAMP>;type=a</SAMP> to force an ASCII transfer.<P> - -<H2><A NAME="startup">Why does Apache start more slowly when using the - proxy module?</A></H2> - -If you're using the <CODE>ProxyBlock</CODE> or <CODE>NoCache</CODE> -directives, hostnames' IP addresses are looked up and cached during -startup for later match test. This may take a few seconds (or more) -depending on the speed with which the hostname lookups occur.<P> - -<H2><A NAME="socks">Can I use the Apache proxy module with my SOCKS proxy?</A></H2> - -Yes. Just build Apache with the rule <CODE>SOCKS4=yes</CODE> in your -<EM>Configuration</EM> file, and follow the instructions there. SOCKS5 -capability can be added in a similar way (there's no <CODE>SOCKS5</CODE> -rule yet), so use the <CODE>EXTRA_LDFLAGS</CODE> definition, or build Apache -normally and run it with the <EM>runsocks</EM> wrapper provided with SOCKS5, -if your OS supports dynamically linked libraries.<P> - -Some users have reported problems when using SOCKS version 4.2 on Solaris. -The problem was solved by upgrading to SOCKS 4.3.<P> - -Remember that you'll also have to grant access to your Apache proxy machine by -permitting connections on the appropriate ports in your SOCKS daemon's -configuration.<P> - -<H2><A NAME="intranet">What other functions are useful for an intranet proxy server?</A></H2> - -<P>An Apache proxy server situated in an intranet needs to forward external -requests through the company's firewall. However, when it has to access -resources within the intranet, it can bypass the firewall when accessing -hosts. The <A HREF="#noproxy">NoProxy</A> directive is useful for specifying -which hosts belong to the intranet and should be accessed directly.</P> - -<P>Users within an intranet tend to omit the local domain name from their -WWW requests, thus requesting "http://somehost/" instead of -"http://somehost.my.dom.ain/". Some commercial proxy servers let them get -away with this and simply serve the request, implying a configured -local domain. When the <A HREF="#proxydomain">ProxyDomain</A> directive -is used and the server is <A HREF="#proxyrequests">configured for -proxy service</A>, Apache can return a redirect response and send the client -to the correct, fully qualified, server address. This is the preferred method -since the user's bookmark files will then contain fully qualified hosts.</P> - <!--#include virtual="footer.html" --> </BODY> </HTML> |