From 8fa573336000d9ccbcc51209992c8455ea3af05a Mon Sep 17 00:00:00 2001
From: Daniel Gruno To activate the example module, include a block similar to
the following in your As an alternative, you can put the following into a After reloading/restarting your server, you should be able
to browse to this location and see the brief display mentioned
diff --git a/docs/manual/mod/mod_ext_filter.html.en b/docs/manual/mod/mod_ext_filter.html.en
index ab914ad1f63..6f14d1ae6ff 100644
--- a/docs/manual/mod/mod_ext_filter.html.en
+++ b/docs/manual/mod/mod_ext_filter.html.en
@@ -77,30 +77,26 @@ delivery to the client
httpd.conf file:
- <Location /example-info>
- SetHandler example-handler
- </Location>
-
+<Location /example-info>
+ SetHandler example-handler
+</Location>
+
+
.htaccess file
and then request the file "test.example" from that location:
+
AddHandler example-handler .example
-Examples
Generating HTML from some other type of response
-
- # mod_ext_filter directive to define a filter
- # to HTML-ize text/c files using the external
- # program /usr/bin/enscript, with the type of
- # the result set to text/html
- ExtFilterDefine c-to-html mode=output \
-
- intype=text/c outtype=text/html \
- cmd="/usr/bin/enscript --color -W html -Ec -o - -"
-
-
- <Directory "/export/home/trawick/apacheinst/htdocs/c">
-
- # core directive to cause the new filter to
- # be run on output
- SetOutputFilter c-to-html
-
- # mod_mime directive to set the type of .c
- # files to text/c
- AddType text/c .c
-
-
- </Directory>
-
+# mod_ext_filter directive to define a filter
+# to HTML-ize text/c files using the external
+# program /usr/bin/enscript, with the type of
+# the result set to text/html
+ExtFilterDefine c-to-html mode=output \
+ intype=text/c outtype=text/html \
+ cmd="/usr/bin/enscript --color -W html -Ec -o - -"
+
+<Directory "/export/home/trawick/apacheinst/htdocs/c">
+ # core directive to cause the new filter to
+ # be run on output
+ SetOutputFilter c-to-html
+
+ # mod_mime directive to set the type of .c
+ # files to text/c
+ AddType text/c .c
+</Directory>
+
+
Implementing a content encoding filter
@@ -108,116 +104,104 @@ delivery to the client
Please refer to mod_deflate for a practical
implementation.
- # mod_ext_filter directive to define the external filter
- ExtFilterDefine gzip mode=output cmd=/bin/gzip
-
- <Location /gzipped>
-
- # core directive to cause the gzip filter to be
- # run on output
- SetOutputFilter gzip
-
- # mod_header directive to add
- # "Content-Encoding: gzip" header field
- Header set Content-Encoding gzip
-
- </Location>
-
+# mod_ext_filter directive to define the external filter +ExtFilterDefine gzip mode=output cmd=/bin/gzip + +<Location /gzipped> + + # core directive to cause the gzip filter to be + # run on output + SetOutputFilter gzip + + # mod_header directive to add + # "Content-Encoding: gzip" header field + Header set Content-Encoding gzip +</Location> ++
- # mod_ext_filter directive to define a filter
- # which runs everything through cat; cat doesn't
- # modify anything; it just introduces extra pathlength
- # and consumes more resources
- ExtFilterDefine slowdown mode=output cmd=/bin/cat \
-
- preservescontentlength
-
-
- <Location />
-
- # core directive to cause the slowdown filter to
- # be run several times on output
- #
- SetOutputFilter slowdown;slowdown;slowdown
-
- </Location>
-
+# mod_ext_filter directive to define a filter +# which runs everything through cat; cat doesn't +# modify anything; it just introduces extra pathlength +# and consumes more resources +ExtFilterDefine slowdown mode=output cmd=/bin/cat \ + preservescontentlength + +<Location /> + # core directive to cause the slowdown filter to + # be run several times on output + # + SetOutputFilter slowdown;slowdown;slowdown +</Location> ++
- # mod_ext_filter directive to define a filter which
- # replaces text in the response
- #
- ExtFilterDefine fixtext mode=output intype=text/html \
-
- cmd="/bin/sed s/verdana/arial/g"
-
-
- <Location />
-
- # core directive to cause the fixtext filter to
- # be run on output
- SetOutputFilter fixtext
-
- </Location>
-
+# mod_ext_filter directive to define a filter which +# replaces text in the response +# +ExtFilterDefine fixtext mode=output intype=text/html \ + cmd="/bin/sed s/verdana/arial/g" + +<Location /> + # core directive to cause the fixtext filter to + # be run on output + SetOutputFilter fixtext +</Location> ++
- # Trace the data read and written by mod_deflate
- # for a particular client (IP 192.168.1.31)
- # experiencing compression problems.
- # This filter will trace what goes into mod_deflate.
- ExtFilterDefine tracebefore \
-
- cmd="/bin/tracefilter.pl /tmp/tracebefore" \
- EnableEnv=trace_this_client
-
-
- # This filter will trace what goes after mod_deflate.
- # Note that without the ftype parameter, the default
- # filter type of AP_FTYPE_RESOURCE would cause the
- # filter to be placed *before* mod_deflate in the filter
- # chain. Giving it a numeric value slightly higher than
- # AP_FTYPE_CONTENT_SET will ensure that it is placed
- # after mod_deflate.
- ExtFilterDefine traceafter \
-
- cmd="/bin/tracefilter.pl /tmp/traceafter" \
- EnableEnv=trace_this_client ftype=21
-
-
- <Directory /usr/local/docs>
-
- SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
- SetOutputFilter tracebefore;deflate;traceafter
-
- </Directory>
-
+# Trace the data read and written by mod_deflate +# for a particular client (IP 192.168.1.31) +# experiencing compression problems. +# This filter will trace what goes into mod_deflate. +ExtFilterDefine tracebefore \ + cmd="/bin/tracefilter.pl /tmp/tracebefore" \ + EnableEnv=trace_this_client + +# This filter will trace what goes after mod_deflate. +# Note that without the ftype parameter, the default +# filter type of AP_FTYPE_RESOURCE would cause the +# filter to be placed *before* mod_deflate in the filter +# chain. Giving it a numeric value slightly higher than +# AP_FTYPE_CONTENT_SET will ensure that it is placed +# after mod_deflate. +ExtFilterDefine traceafter \ + cmd="/bin/tracefilter.pl /tmp/traceafter" \ + EnableEnv=trace_this_client ftype=21 + +<Directory /usr/local/docs> + SetEnvIf Remote_Addr 192.168.1.31 trace_this_client + SetOutputFilter tracebefore;deflate;traceafter +</Directory> ++
- #!/usr/local/bin/perl -w
- use strict;
-
- open(SAVE, ">$ARGV[0]")
-
- or die "can't open $ARGV[0]: $?";
-
-
- while (<STDIN>) {
-
- print SAVE $_;
- print $_;
-
- }
-
- close(SAVE);
+
+#!/usr/local/bin/perl -w
+use strict;
+
+open(SAVE, ">$ARGV[0]")
+ or die "can't open $ARGV[0]: $?";
+
+while (<STDIN>) {
+ print SAVE $_;
+ print $_;
+}
+
+close(SAVE);
+
+
+
ExtFilterOptions LogStderr
-
Messages written to the filter's standard error will be stored in the Apache error log.
diff --git a/docs/manual/mod/mod_file_cache.html.en b/docs/manual/mod/mod_file_cache.html.en index 48536c0e6b3..cccec3c6e99 100644 --- a/docs/manual/mod/mod_file_cache.html.en +++ b/docs/manual/mod/mod_file_cache.html.en @@ -169,7 +169,10 @@mod_rewrite.
+
CacheFile /usr/local/apache/htdocs/index.html
+
+
mod_rewrite.
+
MMapFile /usr/local/apache/htdocs/index.html
+
+
AddOutputFilterByType
-
- FilterDeclare SSI
- FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|"
- FilterChain SSI
-
+FilterDeclare SSI
+FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|"
+FilterChain SSI
+
+
- FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'"
- FilterChain SSI
-
+FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'"
+FilterChain SSI
+
+
- FilterDeclare gzip CONTENT_SET
- FilterProvider gzip inflate "%{req:Accept-Encoding} !~ /gzip/"
- FilterChain gzip
-
+FilterDeclare gzip CONTENT_SET
+FilterProvider gzip inflate "%{req:Accept-Encoding} !~ /gzip/"
+FilterChain gzip
+
+
- FilterProvider unpack jpeg_unpack "%{CONTENT_TYPE} = 'image/jpeg'"
- FilterProvider unpack gif_unpack "%{CONTENT_TYPE} = 'image/gif'"
- FilterProvider unpack png_unpack "%{CONTENT_TYPE} = 'image/png'"
-
- FilterProvider downsample downsample_filter "%{CONTENT_TYPE} = m|^image/(jpeg|gif|png)|"
- FilterProtocol downsample "change=yes"
-
- FilterProvider repack jpeg_pack "%{CONTENT_TYPE} = 'image/jpeg'"
- FilterProvider repack gif_pack "%{CONTENT_TYPE} = 'image/gif'"
- FilterProvider repack png_pack "%{CONTENT_TYPE} = 'image/png'"
- <Location /image-filter>
-
- FilterChain unpack downsample repack
-
- </Location>
-
+FilterProvider unpack jpeg_unpack "%{CONTENT_TYPE} = 'image/jpeg'"
+FilterProvider unpack gif_unpack "%{CONTENT_TYPE} = 'image/gif'"
+FilterProvider unpack png_unpack "%{CONTENT_TYPE} = 'image/png'"
+
+FilterProvider downsample downsample_filter "%{CONTENT_TYPE} = m|^image/(jpeg|gif|png)|"
+FilterProtocol downsample "change=yes"
+
+FilterProvider repack jpeg_pack "%{CONTENT_TYPE} = 'image/jpeg'"
+FilterProvider repack gif_pack "%{CONTENT_TYPE} = 'image/gif'"
+FilterProvider repack png_pack "%{CONTENT_TYPE} = 'image/png'"
+<Location /image-filter>
+ FilterChain unpack downsample repack
+</Location>
+
+
mod_filter<
text/html or text/plain before it is sent
to the client.
-
+
AddOutputFilterByType DEFLATE text/html text/plain
-
+
+
If you want the content to be processed by more than one filter, their
names have to be separated by semicolons. It's also possible to use one
@@ -300,14 +303,13 @@ being moved to mod_filter<
INCLUDES filter and then by the DEFLATE
filter.
-
- <Location /cgi-bin/>
-
- Options Includes
- AddOutputFilterByType INCLUDES;DEFLATE text/html
-
- </Location>
-
+
+<Location /cgi-bin/>
+ Options Includes
+ AddOutputFilterByType INCLUDES;DEFLATE text/html
+</Location>
+
+
See also
diff --git a/docs/manual/mod/mod_firehose.html.en b/docs/manual/mod/mod_firehose.html.en
index 3cb5f7db7b1..fc56a9e605c 100644
--- a/docs/manual/mod/mod_firehose.html.en
+++ b/docs/manual/mod/mod_firehose.html.en
@@ -178,7 +178,10 @@ later.
present.
Example
+
FirehoseConnectionInput connection-input.firehose
+
+
@@ -199,7 +202,10 @@ later.
keepalive is present.
Example
+
FirehoseConnectionOutput connection-output.firehose
+
+
@@ -218,7 +224,10 @@ later.
Capture traffic being received by mod_proxy.
Example
+
FirehoseProxyConnectionInput proxy-input.firehose
+
+
@@ -237,7 +246,10 @@ later.
Capture traffic being sent out by mod_proxy.
Example
+
FirehoseProxyConnectionOutput proxy-output.firehose
+
+
@@ -257,7 +269,10 @@ later.
will be captured separately, regardless of the presence of keepalive.
Example
+
FirehoseRequestInput request-input.firehose
+
+
@@ -277,7 +292,10 @@ later.
will be captured separately, regardless of the presence of keepalive.
Example
+
FirehoseRequestOutput request-output.firehose
+
+
diff --git a/docs/manual/mod/mod_imagemap.html.en b/docs/manual/mod/mod_imagemap.html.en
index f362c9c7862..856f7255fd1 100644
--- a/docs/manual/mod/mod_imagemap.html.en
+++ b/docs/manual/mod/mod_imagemap.html.en
@@ -44,11 +44,13 @@
The following directive will activate files ending with
.map as imagemap files:
- AddHandler imap-file map
+ AddHandler imap-file map
+
Note that the following is still supported:
- AddType application/x-httpd-imap map
+ AddType application/x-httpd-imap map
+
However, we are trying to phase out "magic MIME types" so we
are deprecating this method.
diff --git a/docs/manual/mod/mod_include.html.en b/docs/manual/mod/mod_include.html.en
index 663541e2c8f..4ec29685ea4 100644
--- a/docs/manual/mod/mod_include.html.en
+++ b/docs/manual/mod/mod_include.html.en
@@ -82,10 +82,11 @@
parse them and assign the resulting document the mime type of
text/html:
-
- AddType text/html .shtml
- AddOutputFilter INCLUDES .shtml
-
+
+AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+
+
The following directive must be given for the directories
containing the shtml files (typically in a
@@ -94,9 +95,10 @@
AllowOverride Options
is set):
-
+
Options +Includes
-
+
+
For backwards compatibility, the server-parsed
handler also activates the
@@ -773,9 +775,10 @@
This directive changes the string that mod_include
looks for to mark the end of an include element.
- Example
+
SSIEndTag "%>"
-
+
+
See also
@@ -806,9 +809,10 @@ directive]"
This directive has the same effect as the <!--#config
errmsg=message --> element.
+
SSIErrorMsg "<!-- Error -->"
-
+
SSIStartTag "<%"
SSIEndTag "%>"
-
The example given above, which also specifies a matching
SSIEndTag, will
@@ -970,9 +975,10 @@ displayed
This directive has the same effect as the <!--#config
timefmt=formatstring --> element.
+
SSITimeFormat "%R, %B %d, %Y"
-
The above directive would cause times to be displayed in the format "22:26, June 14, 2002".
@@ -993,9 +999,10 @@ displayedThis directive changes the string that mod_include
displays when a variable is not set and "echoed".
+
SSIUndefinedEcho "<!-- undef -->"
-
- <Location /foo/>
- LogMessage "/foo/ has been requested"
- </Location>
-
+<Location /foo/> + LogMessage "/foo/ has been requested" +</Location> ++
- <Location /foo/>
- LogMessage "subrequest to /foo/" hook=type_checker expr=%{IS_SUBREQ}
- </Location>
-
+<Location /foo/>
+ LogMessage "subrequest to /foo/" hook=type_checker expr=%{IS_SUBREQ}
+</Location>
+
+
The default log_transaction hook is not executed for sub-requests,
therefore we have to use a different hook.
@@ -70,21 +72,22 @@
- LogMessage "IPv6 timeout from %{REMOTE_ADDR}"
- "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"
-
+ LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"
+
+
Note the placing of the double quotes for the expr= argument.
- <Location />
- LogMessage "%{reqenv:X-Foo}" hook=all
- </Location>
-
+<Location />
+ LogMessage "%{reqenv:X-Foo}" hook=all
+</Location>
+
+
Together with microsecond time stamps in the error log,
hook=all also allows to determine the times spent
in the different parts of the request processing.
diff --git a/docs/manual/mod/mod_mime.html.en b/docs/manual/mod/mod_mime.html.en
index 742c4ae7e09..2de25da73ca 100644
--- a/docs/manual/mod/mod_mime.html.en
+++ b/docs/manual/mod/mod_mime.html.en
@@ -157,11 +157,12 @@
of using AddHandler cgi-script .cgi, use
- <FilesMatch \.cgi$>
-
- SetHandler cgi-script
-
- </FilesMatch>
+
+<FilesMatch \.cgi$>
+ SetHandler cgi-script
+</FilesMatch>
+
+
Content-encoding: pkzip
Content-encoding: pkzip+
- Content-Language: en, fr
- Content-Type: text/plain; charset=ISO-8859-1
+Content-Language: en, fr
+Content-Type: text/plain; charset=ISO-8859-1
The language specification is the two-letter abbreviation @@ -269,10 +271,13 @@ charset extension.
- AddLanguage ja .ja
- AddCharset EUC-JP .euc
- AddCharset ISO-2022-JP .jis
- AddCharset SHIFT_JIS .sjis
+
+AddLanguage ja .ja
+AddCharset EUC-JP .euc
+AddCharset ISO-2022-JP .jis
+AddCharset SHIFT_JIS .sjis
+
+
Then the document xxxx.ja.jis will be treated
@@ -317,8 +322,11 @@ type
extension.
- AddEncoding x-gzip .gz
- AddEncoding x-compress .Z
+
+AddEncoding x-gzip .gz
+AddEncoding x-compress .Z
+
+
This will cause filenames containing the .gz extension
@@ -365,9 +373,10 @@ handler
activate CGI scripts with the file extension .cgi, you
might use:
+
AddHandler cgi-script .cgi
-
Once that has been put into your httpd.conf file, any file containing
the .cgi extension will be treated as a CGI program.
- AddEncoding x-compress .Z
- AddLanguage en .en
- AddLanguage fr .fr
+
+AddEncoding x-compress .Z
+AddLanguage en .en
+AddLanguage fr .fr
+
+
Then the document xxxx.en.Z will be treated as
@@ -459,11 +471,12 @@ language
extension, the last one encountered is the one that is used.
That is, for the case of:
- AddLanguage en .en
- AddLanguage en-gb .en
- AddLanguage en-us .en
-
+AddLanguage en .en +AddLanguage en-gb .en +AddLanguage en-us .en ++
documents with the extension .en would be treated as
being en-us.
.shtml files for server-side includes and will then
compress the output using mod_deflate.
-
+
AddOutputFilter INCLUDES;DEFLATE shtml
-
If more than one filter is specified, they must be separated
by semicolons in the order in which they should process the
@@ -522,34 +536,27 @@ later.
the AddOutputFilter
directive.
- # Effective filter "DEFLATE"
- AddOutputFilter DEFLATE shtml
- <Location /foo>
-
- # Effective filter "INCLUDES", replacing "DEFLATE"
- AddOutputFilter INCLUDES shtml
-
- </Location>
- <Location /bar>
-
- # Effective filter "INCLUDES;DEFLATE", replacing "DEFLATE"
- AddOutputFilter INCLUDES;DEFLATE shtml
-
- </Location>
- <Location /bar/baz>
-
- # Effective filter "BUFFER", replacing "INCLUDES;DEFLATE"
- AddOutputFilter BUFFER shtml
-
- </Location>
- <Location /bar/baz/buz>
-
- # No effective filter, replacing "BUFFER"
- RemoveOutputFilter shtml
-
- </Location>
-
+# Effective filter "DEFLATE" +AddOutputFilter DEFLATE shtml +<Location /foo> + # Effective filter "INCLUDES", replacing "DEFLATE" + AddOutputFilter INCLUDES shtml +</Location> +<Location /bar> + # Effective filter "INCLUDES;DEFLATE", replacing "DEFLATE" + AddOutputFilter INCLUDES;DEFLATE shtml +</Location> +<Location /bar/baz> + # Effective filter "BUFFER", replacing "INCLUDES;DEFLATE" + AddOutputFilter BUFFER shtml +</Location> +<Location /bar/baz/buz> + # No effective filter, replacing "BUFFER" + RemoveOutputFilter shtml +</Location> ++
+
AddType image/gif .gif
+
+
Or, to specify multiple file extensions in one directive:
+
AddType image/jpeg jpeg jpg jpe
+
+
The extension argument is case-insensitive and can
@@ -604,7 +617,10 @@ type
qs:
- Addtype application/rss+xml;qs=0.8 .xml
+
+ AddType application/rss+xml;qs=0.8 .xml
+
+
This is useful in situations, e.g. when a client @@ -652,7 +668,10 @@ assigned a language-tag by some other means. Content-Language header field will be generated.
+
DefaultLanguage en
+
+
This directive is recommended when you have a virtual filesystem.
+
ModMimeUsePathInfo On
+
+
If you have a request for /index.php/foo.shtml
@@ -746,9 +768,10 @@ a matching file with MultiViews
and filters to participate in Multviews, but will exclude unknown
files:
+
MultiviewsMatch Handlers Filters
-
MultiviewsMatch is not allowed in a
<Location> or <LocationMatch> section.
+
RemoveCharset .html .shtml
+
+
- AddEncoding x-gzip .gz
- AddType text/plain .asc
- <Files *.gz.asc>
-
- RemoveEncoding .gz
-
- </Files>
+
+AddEncoding x-gzip .gz
+AddType text/plain .asc
+<Files *.gz.asc>
+ RemoveEncoding .gz
+</Files>
+
+
This will cause foo.gz to be marked as being
@@ -850,11 +877,17 @@ extensions
config files. An example of its use might be:
+
AddHandler server-parsed .html
+
+
+
RemoveHandler .html
+
+
This has the effect of returning .html files in
@@ -944,7 +977,10 @@ later.
be specified with or without a leading dot.
+
RemoveOutputFilter shtml
+
+
+
RemoveType .cgi
+
+
This will remove any special handling of .cgi
diff --git a/docs/manual/mod/mod_proxy_ajp.html.en b/docs/manual/mod/mod_proxy_ajp.html.en
index e4dd2a04097..e64c26b6bb9 100644
--- a/docs/manual/mod/mod_proxy_ajp.html.en
+++ b/docs/manual/mod/mod_proxy_ajp.html.en
@@ -73,19 +73,23 @@
an HTTP reverse proxy, but uses the ajp:// prefix:
+
ProxyPass /app ajp://backend.example.com:8009/app
+
+
Balancers may also be used:
- <Proxy balancer://cluster>
-
- BalancerMember ajp://app1.example.com:8009 loadfactor=1
- BalancerMember ajp://app2.example.com:8009 loadfactor=2
- ProxySet lbmethod=bytraffic
-
- </Proxy>
- ProxyPass /app balancer://cluster/app
+
+<Proxy balancer://cluster>
+ BalancerMember ajp://app1.example.com:8009 loadfactor=1
+ BalancerMember ajp://app2.example.com:8009 loadfactor=2
+ ProxySet lbmethod=bytraffic
+</Proxy>
+ProxyPass /app balancer://cluster/app
+
+
Note that usually no
@@ -101,8 +105,11 @@
original host URL (not the backend ajp:// URL), for
example:
- ProxyPass /apps/foo ajp://backend.example.com:8009/foo
- ProxyPassReverse /apps/foo http://www.example.com/foo
+
+ProxyPass /apps/foo ajp://backend.example.com:8009/foo
+ProxyPassReverse /apps/foo http://www.example.com/foo
+
+
However, it is usually better to deploy the application on the backend server at the same path as the proxy rather than to take this approach. diff --git a/docs/manual/mod/mod_proxy_balancer.html.en b/docs/manual/mod/mod_proxy_balancer.html.en index 2d175a4c5a9..e078d3dbfe0 100644 --- a/docs/manual/mod/mod_proxy_balancer.html.en +++ b/docs/manual/mod/mod_proxy_balancer.html.en @@ -109,31 +109,32 @@ load balancing between two back-end servers:
-
- <Proxy balancer://mycluster>
- BalancerMember http://192.168.1.50:80
- BalancerMember http://192.168.1.51:80
- </Proxy>
- ProxyPass /test balancer://mycluster
- ProxyPassReverse /test balancer://mycluster
-
+<Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 + BalancerMember http://192.168.1.51:80 +</Proxy> +ProxyPass /test balancer://mycluster +ProxyPassReverse /test balancer://mycluster ++
Another example of how to provide load balancing with stickyness
using mod_headers, even if the back-end server does
not set a suitable session cookie:
- Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/"
- env=BALANCER_ROUTE_CHANGED
- <Proxy balancer://mycluster>
- BalancerMember http://192.168.1.50:80 route=1
- BalancerMember http://192.168.1.51:80 route=2
- ProxySet stickysession=ROUTEID
- </Proxy>
- ProxyPass /test balancer://mycluster
- ProxyPassReverse /test balancer://mycluster
-
+Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
+<Proxy balancer://mycluster>
+ BalancerMember http://192.168.1.50:80 route=1
+ BalancerMember http://192.168.1.51:80 route=2
+ ProxySet stickysession=ROUTEID
+</Proxy>
+ProxyPass /test balancer://mycluster
+ProxyPassReverse /test balancer://mycluster
+
+
To enable load balancer management for browsers from the example.com
domain add this code to your httpd.conf
configuration file
- <Location /balancer-manager>
- SetHandler balancer-manager
-
- Require host example.com
- </Location>
-
+<Location /balancer-manager> + SetHandler balancer-manager + Require host example.com +</Location> ++
You can now access load balancer manager by using a Web browser to access the page diff --git a/docs/manual/mod/mod_proxy_ftp.html.en b/docs/manual/mod/mod_proxy_ftp.html.en index 2388ccff763..3b63c24630e 100644 --- a/docs/manual/mod/mod_proxy_ftp.html.en +++ b/docs/manual/mod/mod_proxy_ftp.html.en @@ -80,7 +80,10 @@
application/octet-stream bin dms lha lzh exe class tgz taz
Alternatively you may prefer to default everything to binary:
-ForceType application/octet-stream
+ ForceType application/octet-stream
+
+
- Session On
- SessionDBDCookieName session path=/
+
+Session On
+SessionDBDCookieName session path=/
+
+
For more examples on how the session can be configured to be read @@ -150,8 +156,11 @@ userid, configure the session as follows:
- Session On
- SessionDBDPerUser On
+
+Session On
+SessionDBDPerUser On
+
+
- Session On
- SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;
+
+Session On
+SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;
+
+
- Session On
- SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
+
+Session On
+SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
+
+
For example, to make the server accept connections on both port 80 and port 8000, use:
-
- Listen 80
- Listen 8000
-
+Listen 80 +Listen 8000 ++
To make the server accept connections on two specified interfaces and port numbers, use
-
- Listen 192.170.2.1:80
- Listen 192.170.2.5:8000
-
+Listen 192.170.2.1:80 +Listen 192.170.2.5:8000 ++
IPv6 addresses must be surrounded in square brackets, as in the following example:
-
+
Listen [2001:db8::a00:20ff:fea7:ccea]:80
-
The optional protocol argument is not required for most
configurations. If not specified, https is the default for
@@ -212,9 +215,10 @@ The protocol argument was added in 2.1.5
You only need to set the protocol if you are running on non-standard
ports. For example, running an https site on port 8443:
+
Listen 192.170.2.1:8443 https
-
Listen directives for the same ip
@@ -437,7 +441,10 @@ of the daemon
ServerRoot.
+
PidFile /var/run/apache.pid
+
+
It is often useful to be able to send the server a signal, @@ -492,7 +499,10 @@ the child processes Apache httpd to always create the file on the disk.
+
ScoreBoardFile /var/run/apache_status
+
+
File-based shared memory is useful for third-party applications -- 2.47.3