From 03cc6f7d4e45e03e9aac99ecf742fbba8a7814dd Mon Sep 17 00:00:00 2001
From: =?utf8?q?Andr=C3=A9=20Malo?=
-
+
How to handle an empty brigade
apr_status_t dummy_filter(ap_filter_t *f, apr_bucket_brigade *bb)
-
-
{
if (APR_BRIGADE_EMPTY(bb)) {
@@ -138,8 +137,7 @@
}
....
Taking an example which loops through the entire brigade as follows:
-
-
+
Bad output filter -- do not imitate!
apr_bucket *e = APR_BRIGADE_FIRST(bb);
const char *data;
apr_size_t len;
@@ -270,8 +267,7 @@ while (e != APR_BRIGADE_SENTINEL(bb)) {
return ap_pass_brigade(bb);
-
-
The above implementation would consume memory proportional to
content size. If passed a FILE bucket, for example,
@@ -283,8 +279,7 @@ return ap_pass_brigade(bb);
amount of memory to filter any brigade; a temporary brigade is
needed and must be allocated only once per response, see the Maintaining state section.
-
+
Better output filter
apr_bucket *e;
const char *data;
apr_size_t len;
@@ -302,8 +297,7 @@ while ((e = APR_BRIGADE_FIRST(bb)) != APR_BRIGADE_SENTINEL(bb)) {
apr_brigade_cleanup(tmpbb);
}
-
-
-
+
Example code to maintain filter state
struct dummy_state {
apr_bucket_brigade *tmpbb;
int filter_state;
@@ -343,8 +336,7 @@ apr_status_t dummy_filter(ap_filter_t *f, apr_bucket_brigade *bb)
}
...
-
-
-
-
+
Example code using non-blocking bucket reads
apr_bucket *e;
apr_read_type_e mode = APR_NONBLOCK_READ;
@@ -448,8 +438,7 @@ while ((e = APR_BRIGADE_FIRST(bb)) != APR_BRIGADE_SENTINEL(bb)) {
...
}
-
-
.htaccess file in /www/htdocs/example:
/www/htdocs/example
- AddType text/example .exm
-
-
/www/htdocs/exampleAddType text/example .exm+
httpd.conf
- file
-
+ file
<Directory /www/htdocs/example>
-
-
AddType text/example .exm
</Directory>
However, putting this configuration in your server configuration
file will result in less of a performance hit, as the configuration is
diff --git a/docs/manual/mod/mod_actions.html.en b/docs/manual/mod/mod_actions.html.en
index a3af1888779..eecf5447cb5 100644
--- a/docs/manual/mod/mod_actions.html.en
+++ b/docs/manual/mod/mod_actions.html.en
@@ -78,27 +78,22 @@ introduced in Apache 2.1
environment variables. The handler used for the particular request
is passed using the REDIRECT_HANDLER variable.
-
+
Example: MIME type
# Requests for files of a particular MIME content type:
Action image/gif /cgi-bin/images.cgi
-
-
In this example, requests for files with a MIME content
type of image/gif will be handled by the
specified cgi script /cgi-bin/images.cgi.
-
-
+
Example: File extension
# Files of a particular file extension
AddHandler my-file-type .xyz
Action my-file-type /cgi-bin/program.cgi
-
-
In this example, requests for files with a file extension of
.xyz are handled by the specified cgi script
/cgi-bin/program.cgi.
file provider is implemented
by the mod_authn_file module. Make sure
that the chosen provider module is present in the server.
-
-
+
Example
<Location /secure>
AuthType basic
AuthName "private area"
@@ -111,8 +110,7 @@ lower level modules
Require valid-user
</Location>
-
-
Providers are queried in order until a provider finds a match for the requested username, at which point this sole provider will attempt to check the password. A failure to verify the password does diff --git a/docs/manual/mod/mod_auth_digest.html.en b/docs/manual/mod/mod_auth_digest.html.en index 2baaf194962..e2646e3b785 100644 --- a/docs/manual/mod/mod_auth_digest.html.en +++ b/docs/manual/mod/mod_auth_digest.html.en @@ -77,8 +77,7 @@
Appropriate user (text) files can be created using the
htdigest tool.
-
+
Example:
<Location /private/>
AuthType Digest
AuthName "private area"
@@ -89,8 +88,7 @@
Require valid-user
</Location>
-
-
Digest authentication is more secure than Basic authentication, @@ -128,12 +126,10 @@ remove the query string from the digest comparison. Using this method would look similar to the following.
-
-
+
Using Digest Authentication with MSIE:
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
-
-
This workaround is not necessary for MSIE 7, though enabling it does not cause any compatibility issues or significant overhead.
diff --git a/docs/manual/mod/mod_auth_form.html.en b/docs/manual/mod/mod_auth_form.html.en index 007c5a117a1..ffd85e6fb40 100644 --- a/docs/manual/mod/mod_auth_form.html.en +++ b/docs/manual/mod/mod_auth_form.html.en @@ -106,8 +106,7 @@ a file usingmod_authn_file. If authentication is unsuccessful,
the user will be redirected to the form login page.
-
-
+
Basic example
AuthFormProvider file
AuthUserFile conf/passwd
AuthType form
@@ -117,8 +116,7 @@ Session On
SessionCookieName session path=/
SessionCryptoPassphrase secret
-
-
The directive AuthType will enable
the mod_auth_form authentication when set to the value form.
@@ -163,8 +161,7 @@ SessionCryptoPassphrase secret
The action of the form should point at this handler, which is configured within
Apache httpd as follows:
-
+
Form login handler example
<Location /dologin.html>
SetHandler form-login-handler
AuthFormLoginRequiredLocation http://example.com/login.html
@@ -178,8 +175,7 @@ SessionCryptoPassphrase secret
SessionCryptoPassphrase secret
</Location>
-
-
The URLs specified by the
AuthFormLoginRequiredLocation directive will typically
@@ -231,8 +227,7 @@ SessionCryptoPassphrase secret
returned by the HTTP_UNAUTHORIZED status code with a custom error document
containing the login form, as follows:
-
+
Basic inline example
AuthFormProvider file
ErrorDocument 401 /login.shtml
AuthUserFile conf/passwd
@@ -243,8 +238,7 @@ Session On
SessionCookieName session path=/
SessionCryptoPassphrase secret
-
-
The error document page should contain a login form with an empty action property, as per the example below. This has the effect of submitting the form to @@ -311,14 +305,12 @@ SessionCryptoPassphrase secret
Another option is to render the login form using a CGI script or other dynamic technology.
-
-
+
CGI example
AuthFormProvider file
ErrorDocument 401 /cgi-bin/login.cgi
...
-
-
-
+
Basic logout example
SetHandler form-logout-handler
AuthName realm
AuthFormLogoutLocation http://example.com/loggedout.html
@@ -344,8 +335,7 @@ Session On
SessionCookieName session path=/
SessionCryptoPassphrase secret
-
-
Note that logging a user out does not delete the session; it merely removes the username and password from the session. If this results in an empty session, @@ -355,8 +345,7 @@ SessionCryptoPassphrase secret value, like 1 (setting the directive to zero would mean no session age limit).
-
-
+
Basic session expiry example
SetHandler form-logout-handler
AuthFormLogoutLocation http://example.com/loggedout.html
Session On
@@ -364,8 +353,7 @@ SessionMaxAge 1
SessionCookieName session path=/
SessionCryptoPassphrase secret
-
-
When a URI is accessed that is served by the handler form-logout-handler,
the page specified by this directive will be shown to the end user. For example:
-
+
Example
<Location /logout>
SetHandler form-logout-handler
AuthFormLogoutLocation http://example.com/loggedout.html
@@ -548,8 +535,7 @@ lower level modules
#...
</Location>
-
-
An attempt to access the URI /logout/ will result in the user being logged
out, and the page /loggedout.html will be displayed. Make sure that the page
@@ -638,8 +624,7 @@ lower level modules
by the mod_authn_file module. Make sure
that the chosen provider module is present in the server.
-
+
Example
<Location /secure>
AuthType form
AuthName "private area"
@@ -650,8 +635,7 @@ lower level modules
#...
</Location>
-
-
Providers are implemented by mod_authn_dbm,
mod_authn_file, mod_authn_dbd,
diff --git a/docs/manual/mod/mod_authn_anon.html.en b/docs/manual/mod/mod_authn_anon.html.en
index 860c31255c9..a2d7c7913c1 100644
--- a/docs/manual/mod/mod_authn_anon.html.en
+++ b/docs/manual/mod/mod_authn_anon.html.en
@@ -93,8 +93,7 @@
(Anonymous_LogEmail)
-
-
+
Example
<Directory /var/www/html/private>
AuthName "Use 'anonymous' & Email address for guest entry"
AuthType Basic
@@ -110,8 +109,7 @@
Require valid-user
</Directory>
-
-
anonymous' is always one of the allowed
userIDs.
-
-
+
Example:
Anonymous anonymous "Not Registered" "I don't know"
-
-
This would allow the user to enter without password verification by using the userIDs "anonymous", diff --git a/docs/manual/mod/mod_authn_core.html.en b/docs/manual/mod/mod_authn_core.html.en index 766e82ba802..95162ea8530 100644 --- a/docs/manual/mod/mod_authn_core.html.en +++ b/docs/manual/mod/mod_authn_core.html.en @@ -68,8 +68,7 @@
This example checks for passwords in two different text files.
-
-
+
Checking multiple text password files
# Check here first
<AuthnProviderAlias file file1>
AuthUserFile /www/conf/passwords1
@@ -88,16 +87,14 @@
Require valid-user
</Directory>
-
-
The example below creates two different ldap authentication provider aliases based on the ldap provider. This allows a single authenticated location to be serviced by multiple ldap hosts:
-
-
+
Checking multiple LDAP servers
<AuthnProviderAlias ldap ldap-alias1>
AuthLDAPBindDN cn=youruser,o=ctx
AuthLDAPBindPassword yourpassword
@@ -121,8 +118,7 @@ Alias /secure /webpages/secure
Require valid-user
</Directory>
-
-
AddOutputFilter or
AddOutputFilterByType directives.
-
-
+
Using buffer with mod_include
AddOutputFilterByType INCLUDES;BUFFER text/html
-
-
-
+
Sample httpd.conf
#
# Sample Cache Configuration
#
@@ -188,8 +187,7 @@ LoadModule cache_module modules/mod_cache.so
CacheDisable http://security.update.server/update-list/
</IfModule>
-
-
-
+
Enabling the cache lock
#
# Enable the cache lock
#
@@ -252,8 +249,7 @@ LoadModule cache_module modules/mod_cache.so
CacheLockMaxAge 5
</IfModule>
-
-
mod_cache to not cache urls at or below
url-string.
-
-
+
Example
CacheDisable /local_files
-
-
If used in a <Location> directive,
the path needs to be specified below the Location, or if the word "on"
is used, caching for the whole location will be disabled.
-
+
Example
<Location /foo>
CacheDisable on
</Location>
-
-
The no-cache environment variable can be set to
disable caching on a finer grained set of resources in versions
@@ -662,19 +654,15 @@ CacheHeader on
behaviour), CacheIgnoreHeaders can be set to
None.
-
+
Example 1
CacheIgnoreHeaders Set-Cookie
+
-
+
Example 2
CacheIgnoreHeaders None
-
-
Expires which are needed for proper cache
@@ -765,19 +753,15 @@ header.
CacheIgnoreURLSessionIdentifiers None clears the list of ignored
identifiers. Otherwise, each identifier is added to the list.
-
+
Example 1
CacheIgnoreURLSessionIdentifiers jsessionid
+
-
+
Example 2
CacheIgnoreURLSessionIdentifiers None
-
-
ServerRoot.
-
-
+
Example
ScriptLog logs/cgi_log
-
-
This log will be opened as the user the child processes run
as, i.e. the user specified in the main User directive. This means that
diff --git a/docs/manual/mod/mod_cgid.html.en b/docs/manual/mod/mod_cgid.html.en
index bbc1d05e01c..a5a63b08ce9 100644
--- a/docs/manual/mod/mod_cgid.html.en
+++ b/docs/manual/mod/mod_cgid.html.en
@@ -92,12 +92,10 @@ the cgi daemon
scripts, it is important that no other user has permission to
write in the directory where the socket is located.
-
+
Example
ScriptSock /var/run/cgid.sock
-
-
-
+
Example
<Directory /export/home/trawick/apacheinst/htdocs/convert>
CharsetSourceEnc UTF-16BE
CharsetDefault ISO-8859-1
</Directory>
-
-
CharsetSourceEnc
@@ -186,15 +184,13 @@
APR. Generally, this means that it must be
supported by iconv.
-
-
+
Example
<Directory /export/home/trawick/apacheinst/htdocs/convert>
CharsetSourceEnc UTF-16BE
CharsetDefault ISO-8859-1
</Directory>
-
-
The character set names in this example work with the iconv translation support in Solaris 8.
diff --git a/docs/manual/mod/mod_data.html.en b/docs/manual/mod/mod_data.html.en index 5fca0fd6de8..75f7c153323 100644 --- a/docs/manual/mod/mod_data.html.en +++ b/docs/manual/mod/mod_data.html.en @@ -58,14 +58,12 @@ or any of the directives supported by themod_filter
module.
-
-
+
Configuring the filter
<Location /data/images>
SetOutputFilter DATA
</Location>
-
-
LimitRequestBody directive has no effect on DAV
requests.
-
-
+
Full Example
DavLockDB /usr/local/apache2/var/DavLock
<Directory /usr/local/apache2/htdocs/foo>
@@ -111,8 +110,7 @@ DavLockDB /usr/local/apache2/var/DavLock
</LimitExcept>
</Directory>
-
-
-
+
Example
<Location /MSWord>
DavMinTimeout 600
</Location>
-
-
Dav
directive:
-
-
+
Example
Dav filesystem
-
-
Since filesystem is the default provider for
mod_dav, you may simply use the value
@@ -77,12 +75,10 @@
-
-
+
Example
DavLockDB var/DavLock
-
-
The directory containing the lock database file must be
writable by the User
diff --git a/docs/manual/mod/mod_dav_lock.html.en b/docs/manual/mod/mod_dav_lock.html.en
index 53dceff8650..6f2797f0eac 100644
--- a/docs/manual/mod/mod_dav_lock.html.en
+++ b/docs/manual/mod/mod_dav_lock.html.en
@@ -79,12 +79,10 @@
mod_dav_lock uses a SDBM database to track user
locks.
-
+
Example
DavGenericLockDB var/DavLock
-
-
The directory containing the lock database file must be
writable by the User
diff --git a/docs/manual/mod/mod_deflate.html.en b/docs/manual/mod/mod_deflate.html.en
index a76590e2f6f..e3d128bbce7 100644
--- a/docs/manual/mod/mod_deflate.html.en
+++ b/docs/manual/mod/mod_deflate.html.en
@@ -63,19 +63,16 @@ client
This is a simple sample configuration for the impatient.
-
-
+
Compress only a few types
AddOutputFilterByType DEFLATE text/html text/plain text/xml
-
-
The following configuration, while resulting in more compressed content, is also much more complicated. Do not use this unless you fully understand all the configuration details.
-
-
+
Compress everything except images
<Location />
# Insert filter
SetOutputFilter DEFLATE
@@ -95,8 +92,7 @@ client
Header append Vary User-Agent env=!dont-vary
</Location>
-
-
Vary header to the value *. This prevents
compliant proxies from caching entirely.
-
-
+
Example
Header set Vary *
-
-
-
+
Example
DeflateFilterNote ratio
LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
CustomLog logs/deflate_log deflate
-
-
If you want to extract more accurate values from your logs, you can use the type argument to specify the type of data @@ -332,8 +324,7 @@ BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Thus you may log it this way:
-
-
+
Accurate Logging
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
@@ -341,8 +332,7 @@ DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
CustomLog logs/deflate_log deflate
-
-
-
+
Example
DirectoryIndex index.html
-
-
then a request for http://example.com/docs/ would
return http://example.com/docs/index.html if it
@@ -141,12 +139,10 @@ a directory
and returned transparently to the client. DirectoryIndexRedirect causes an external redirect
to instead be issued.
-
+
Example
DirectoryIndexRedirect on
-
-
A request for http://example.com/docs/ would
return a temporary redirect to http://example.com/docs/index.html
diff --git a/docs/manual/mod/mod_dumpio.html.en b/docs/manual/mod/mod_dumpio.html.en
index a04e5922aa6..a8e8b90904f 100644
--- a/docs/manual/mod/mod_dumpio.html.en
+++ b/docs/manual/mod/mod_dumpio.html.en
@@ -82,12 +82,10 @@ later.
Enable dumping of all input.
-
-
+
Example
DumpIOInput On
-
-
Enable dumping of all output.
-
-
+
Example
DumpIOOutput On
-
-
The ProtocolEcho directive enables or
disables the echo server.
-
+
Example
ProtocolEcho On
-
-
httpd process.
-
-
+
Example
PassEnv LD_LIBRARY_PATH
-
-
Sets an internal environment variable, which is then available to Apache HTTP Server modules, and passed on to CGI scripts and SSI pages.
-
-
+
Example
SetEnv SPECIAL_PATH /foo/bin
-
-
The internal environment variables set by this directive are set after most early request processing directives are run, such as access @@ -130,12 +126,10 @@ SSI pages
Removes one or more internal environment variables from those passed on to CGI scripts and SSI pages.
-
-
+
Example
UnsetEnv LD_LIBRARY_PATH
-
-
-
+
Example:
# enable expirations
ExpiresActive On
# expire GIF images after a month in the client's cache
@@ -215,8 +214,7 @@ ExpiresByType image/gif A2592000
# time they were changed
ExpiresByType text/html M604800
-
-
Note that this directive only has effect if
ExpiresActive On has been specified. It overrides,
diff --git a/docs/manual/mod/mod_ext_filter.html.en b/docs/manual/mod/mod_ext_filter.html.en
index 6f14d1ae6ff..b98e803bea4 100644
--- a/docs/manual/mod/mod_ext_filter.html.en
+++ b/docs/manual/mod/mod_ext_filter.html.en
@@ -186,8 +186,7 @@ ExtFilterDefine traceafter \
-
-
+
Here is the filter which traces the data:
#!/usr/local/bin/perl -w
use strict;
@@ -201,8 +200,7 @@ while (<STDIN>) {
close(SAVE);
-
-
mod_alias or
mod_rewrite.
-
-
+
Example
CacheFile /usr/local/apache/htdocs/index.html
-
-
mod_alias or
mod_rewrite.
-
-
+
Example
MMapFile /usr/local/apache/htdocs/index.html
-
-
-
+
Example
FirehoseConnectionInput connection-input.firehose
-
-
-
+
Example
FirehoseConnectionOutput connection-output.firehose
-
-
Capture traffic being received by mod_proxy.
-
-
+
Example
FirehoseProxyConnectionInput proxy-input.firehose
-
-
Capture traffic being sent out by mod_proxy.
-
-
+
Example
FirehoseProxyConnectionOutput proxy-output.firehose
-
-
Capture traffic coming into the server on each request. Requests will be captured separately, regardless of the presence of keepalive.
-
-
+
Example
FirehoseRequestInput request-input.firehose
-
-
Capture traffic going out of the server on each request. Requests will be captured separately, regardless of the presence of keepalive.
-
-
+
Example
FirehoseRequestOutput request-output.firehose
-
-
You will probably want to use mod_authz_host
to limit access to your server configuration information.
-
+
Access control
<Location /server-info>
SetHandler server-info
Order allow,deny
@@ -102,8 +101,7 @@ configuration
Allow from 192.168.1.17
</Location>
-
-
%).
-
-
+
Example
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common
-
-
-
+
Example
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
TransferLog logs/access_log
-
-
In general stat or forever is good for production, and stat or never for development.
-
-
+
Examples:
LuaCodeCache stat
LuaCodeCache forever
LuaCodeCache never
-
-
-
+
Examples:
LuaMapHandler /(\w+)/(/w+) /scripts/$1.lua handle_$2
-
-
This would match uri's such as /photos/show?id=9 to the file /scripts/photos.lua and invoke the handler function handle_show on the lua vm after @@ -741,13 +737,11 @@ end conventions as lua. This just munges the package.path in the lua vms.
-
-
+
Examples:
LuaPackagePath /scripts/lib/?.lua
LuaPackagePath /scripts/lib/?/init.lua
-
-
bar.cgi.html, then instead
of using AddHandler cgi-script .cgi, use
-
-
+
Configure handler based on final extension only
<FilesMatch \.cgi$>
SetHandler cgi-script
</FilesMatch>
-
-
-
+
Example
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
as being a Japanese document whose charset is ISO-2022-JP
@@ -321,13 +317,11 @@ type
overriding any mappings that already exist for the same
extension.
-
+
Example
AddEncoding x-gzip .gz
AddEncoding x-compress .Z
-
-
This will cause filenames containing the .gz extension
to be marked as encoded using the x-gzip encoding, and
@@ -449,14 +443,12 @@ language
This directive overrides any mappings that already exist for the same
extension.
-
+
Example
AddEncoding x-compress .Z
AddLanguage en .en
AddLanguage fr .fr
-
-
Then the document xxxx.en.Z will be treated as
being a compressed English document (as will the document
@@ -590,21 +582,17 @@ type
TypesConfig file.
-
+
Example
AddType image/gif .gif
-
-
Or, to specify multiple file extensions in one directive:
-
-
+
Example
AddType image/jpeg jpeg jpg jpe
-
-
The extension argument is case-insensitive and can
be specified with or without a leading dot. Filenames may have multiple extensions and the
@@ -616,12 +604,10 @@ type
can be achieved by qualifying a media-type with
qs:
-
+
Example
AddType application/rss+xml;qs=0.8 .xml
-
-
This is useful in situations, e.g. when a client
requesting Accept: */* can not actually processes
@@ -667,12 +653,10 @@ assigned a language-tag by some other means.
by AddLanguage, then no
Content-Language header field will be generated.
-
+
Example
DefaultLanguage en
-
-
This directive is recommended when you have a virtual filesystem.
-
-
+
Example
ModMimeUsePathInfo On
-
-
If you have a request for /index.php/foo.shtml
mod_mime will now treat the
@@ -806,12 +788,10 @@ later.
The extension argument is case-insensitive and can be specified with or without a leading dot.
-
-
+
Example
RemoveCharset .html .shtml
-
-
-
+
/foo/.htaccess:
AddEncoding x-gzip .gz
AddType text/plain .asc
<Files *.gz.asc>
RemoveEncoding .gz
</Files>
-
-
This will cause foo.gz to be marked as being
encoded with the gzip method, but foo.gz.asc as an
@@ -876,19 +854,15 @@ extensions
associations inherited from parent directories or the server
config files. An example of its use might be:
-
+
/foo/.htaccess:
AddHandler server-parsed .html
+
-
+
/foo/bar/.htaccess:
RemoveHandler .html
-
-
This has the effect of returning .html files in
the /foo/bar directory to being treated as normal
@@ -976,12 +950,10 @@ later.
The extension argument is case-insensitive and can be specified with or without a leading dot.
-
-
+
Example
RemoveOutputFilter shtml
-
-
-
+
/foo/.htaccess:
RemoveType .cgi
-
-
This will remove any special handling of .cgi
files in the /foo/ directory and any beneath it,
diff --git a/docs/manual/mod/mod_mime_magic.html.en b/docs/manual/mod/mod_mime_magic.html.en
index f49f5aa27c7..a76b3ca5584 100644
--- a/docs/manual/mod/mod_mime_magic.html.en
+++ b/docs/manual/mod/mod_mime_magic.html.en
@@ -264,12 +264,10 @@ using the specified magic file
used, in which case the more specific setting overrides the main
server's file.
-
+
Example
MimeMagicFile conf/magic
-
-
When logged or enforced, a response that should have been conditional but wasn't will be rejected.
-
-
+
Example
# non-functional conditional responses should be rejected
PolicyConditional enforce
-
-
-
+
Example
# downgrade if POLICY_CONTROL was present
PolicyEnvironment POLICY_CONTROL log ignore
-
-
Master switch to enable or disable policies for a given URL space.
-
-
+
Example
# enabled by default
<Location />
PolicyFilter on
@@ -362,8 +357,7 @@ later.
PolicyFilter off
</Location>
-
-
Content-Length header and a Transfer-Encoding
of chunked will be rejected.
-
-
+
Example
# missing Content-Length or Transfer-Encoding should be rejected
PolicyKeepalive enforce
-
-
When logged or enforced, a response that lacks an explicit
Content-Length header will be rejected.
-
+
Example
# missing Content-Length header should be rejected
PolicyLength enforce
-
-
Expires header, or where the explicit freshness lifetime is
smaller than the given value, will be rejected.
-
-
+
Example
# reject responses with a freshness lifetime shorter than a day
PolicyMaxage enforce 86400
-
-
Cache-Control or Pragma headers will
be rejected.
-
-
+
Example
# Cache-Control: no-cache will be rejected
PolicyNocache enforce
-
-
Content-Type header is malformed, or where the
header does not match the given pattern or patterns will be rejected.
-
-
+
Example
# enforce json or XML
PolicyType enforce application/json text/xml
+
-
+
Example
# malformed content type should be rejected
PolicyType enforce */*
-
-
ETag header or a Last-Modified header, or where
either header is syntactically incorrect, will be rejected.
-
-
+
Example
# no ETag or Last-Modified will be rejected
PolicyValidation enforce
-
-
-
+
Example
# reject reponses with "User-Agent" listed in the Vary header
PolicyVary enforce User-Agent
-
-
When logged or enforced, a request with a version lower than specified will be rejected.
-
-
+
Example
# reject requests with an HTTP version older than HTTP/1.1
PolicyVersion enforce HTTP/1.1
-
-
In addition, if you wish to have caching enabled, consult
the documentation from mod_cache.
-
+
Reverse Proxy
ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar
+
-
+
Forward Proxy
ProxyRequests On
ProxyVia On
@@ -213,8 +210,7 @@ ProxyVia On
Require host internal.example.com
</Proxy>
-
-
ProxyRemote proxy server(s).
-
-
+
Example
ProxyRemote * http://firewall.example.com:81
NoProxy .example.com 192.168.112.0/21
-
-
The host arguments to the NoProxy
directive are one of the following type list:
-
+
Example
ProxyBlock news.example.com auctions.example.com friends.example.com
-
-
Note that example would also be sufficient to match any
of these sites.
-
+
Example
ProxyRemote * http://firewall.example.com:81
-
-
NoProxy .example.com 192.168.112.0/21
ProxyDomain .example.com
Max-Forwards header supplied with the request. This may
be set to prevent infinite proxy loops, or a DoS attack.
-
-
+
Example
ProxyMaxForwards 15
-
-
Note that setting ProxyMaxForwards is a
violation of the HTTP/1.1 protocol (RFC2616), which forbids a Proxy
@@ -1599,12 +1587,10 @@ connections
to 0 to indicate that the system's default buffer size should
be used.
-
+
Example
ProxyReceiveBufferSize 2048
-
-
https, the requests
are forwarded through the remote proxy using the HTTP CONNECT method.
-
-
+
Example
ProxyRemote http://goodguys.example.com/ http://mirrorguys.example.com:8000
ProxyRemote * http://cleverproxy.localdomain
ProxyRemote ftp http://ftpproxy.mydomain:8080
-
-
In the last example, the proxy will forward FTP requests, encapsulated
as yet another HTTP proxy request, to another proxy which can handle
@@ -1719,16 +1703,14 @@ expressions
RewriteRule instead of a
ProxyPass directive.
-
+
<Proxy balancer://hotcluster>
BalancerMember http://www2.example.com:8080 loadfactor=1
BalancerMember http://www3.example.com:8080 loadfactor=2
ProxySet lbmethod=bytraffic
</Proxy>
-
-
<Proxy http://backend>
diff --git a/docs/manual/mod/mod_proxy_ajp.html.en b/docs/manual/mod/mod_proxy_ajp.html.en
index e64c26b6bb9..68102640b21 100644
--- a/docs/manual/mod/mod_proxy_ajp.html.en
+++ b/docs/manual/mod/mod_proxy_ajp.html.en
@@ -72,16 +72,13 @@
(e.g. Apache Tomcat) using the AJP13 protocol. The usage is similar to
an HTTP reverse proxy, but uses the ajp:// prefix:
- Simple Reverse Proxy
-
+ Simple Reverse Proxy
ProxyPass /app ajp://backend.example.com:8009/app
-
-
+
Balancers may also be used:
- Balancer Reverse Proxy
-
+ Balancer Reverse Proxy
<Proxy balancer://cluster>
BalancerMember ajp://app1.example.com:8009 loadfactor=1
BalancerMember ajp://app2.example.com:8009 loadfactor=2
@@ -89,8 +86,7 @@
</Proxy>
ProxyPass /app balancer://cluster/app
-
-
+
Note that usually no
ProxyPassReverse
@@ -104,13 +100,11 @@ ProxyPass /app balancer://cluster/app
backend. In this case, a redirect header can be rewritten relative to the
original host URL (not the backend ajp:// URL), for
example:
- Rewriting Proxied Path
-
+ Rewriting Proxied Path
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_fcgi.html.en b/docs/manual/mod/mod_proxy_fcgi.html.en
index f7b33f5003d..6aab8e0dddf 100644
--- a/docs/manual/mod/mod_proxy_fcgi.html.en
+++ b/docs/manual/mod/mod_proxy_fcgi.html.en
@@ -71,12 +71,10 @@
Remember, in order to make the following examples work, you have to
enable mod_proxy and mod_proxy_fcgi.
- Single application instance
-
+ Single application instance
ProxyPass /myapp/ fcgi://localhost:4000/
-
-
+
This application should be able to handle multiple concurrent
connections. mod_proxy enables connection reuse by
@@ -89,12 +87,10 @@
reuse on the ProxyPass directive, as shown in
the following example:
- Single application instance, no connection reuse
-
+ Single application instance, no connection reuse
ProxyPass /myapp/ fcgi://localhost:4000/ disablereuse=on
-
-
+
The balanced gateway needs mod_proxy_balancer and
at least one load balancer algorithm module, such as
@@ -102,16 +98,14 @@
modules listed above. mod_lbmethod_byrequests is the
default, and will be used for this example configuration.
- Balanced gateway to multiple application instances
-
+ Balanced gateway to multiple application instances
ProxyPass /myapp/ balancer://myappcluster/
<Proxy balancer://myappcluster/>
BalancerMember fcgi://localhost:4000/
BalancerMember fcgi://localhost:4001/
</Proxy>
-
-
+
Environment Variables
diff --git a/docs/manual/mod/mod_proxy_ftp.html.en b/docs/manual/mod/mod_proxy_ftp.html.en
index 3b63c24630e..017be53e900 100644
--- a/docs/manual/mod/mod_proxy_ftp.html.en
+++ b/docs/manual/mod/mod_proxy_ftp.html.en
@@ -80,10 +80,8 @@
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
+
How can I force an FTP ASCII download of
diff --git a/docs/manual/mod/mod_proxy_scgi.html.en b/docs/manual/mod/mod_proxy_scgi.html.en
index c5adbdb4826..9d8cbd6504d 100644
--- a/docs/manual/mod/mod_proxy_scgi.html.en
+++ b/docs/manual/mod/mod_proxy_scgi.html.en
@@ -67,12 +67,10 @@
Remember, in order to make the following examples work, you have to
enable mod_proxy and mod_proxy_scgi.
- Simple gateway
-
+ Simple gateway
ProxyPass /scgi-bin/ scgi://localhost:4000/
-
-
+
The balanced gateway needs mod_proxy_balancer and
at least one load balancer algorithm module, such as
@@ -80,16 +78,14 @@
modules listed above. mod_lbmethod_byrequests is the
default, and will be used for this example configuration.
- Balanced gateway
-
+ Balanced gateway
ProxyPass /scgi-bin/ balancer://somecluster/
<Proxy balancer://somecluster/>
BalancerMember scgi://localhost:4000/
BalancerMember scgi://localhost:4001/
</Proxy>
-
-
+
Environment Variables
@@ -130,12 +126,10 @@ backend
mod_cgi in this regard, except that you can turn off the
feature.
- Example
-
+ Example
ProxySCGIInternalRedirect Off
-
-
+
@@ -171,16 +165,14 @@ header
the argument is applied as header name.
- Example
-
+ Example
# Use the default header (X-Sendfile)
ProxySCGISendfile On
# Use a different header
ProxySCGISendfile X-Send-Static
-
-
+
diff --git a/docs/manual/mod/mod_ratelimit.html.en b/docs/manual/mod/mod_ratelimit.html.en
index 0557caea98d..da65c13436d 100644
--- a/docs/manual/mod/mod_ratelimit.html.en
+++ b/docs/manual/mod/mod_ratelimit.html.en
@@ -37,15 +37,13 @@
The connection speed to be simulated is specified, in KiB/s, using the environment
variable rate-limit.
-Example Configuration
-
+Example Configuration
<Location /downloads>
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 400
</Location>
-
-
+
Directives
diff --git a/docs/manual/mod/mod_remoteip.html.en b/docs/manual/mod/mod_remoteip.html.en
index c2e0a5af7d6..f55d2bc43b7 100644
--- a/docs/manual/mod/mod_remoteip.html.en
+++ b/docs/manual/mod/mod_remoteip.html.en
@@ -136,19 +136,15 @@ via the request headers.
other directives are used, mod_remoteip will trust all
hosts presenting a RemoteIPHeader IP value.
- Internal (Load Balancer) Example
-
+ Internal (Load Balancer) Example
RemoteIPHeader X-Client-IP
+
-
-
- Proxy Example
-
+ Proxy Example
RemoteIPHeader X-Forwarded-For
-
-
+
@@ -167,14 +163,12 @@ via the request headers.
presented in this header, including private intranet addresses, are
trusted when passed from these proxies.
- Internal (Load Balancer) Example
-
+ Internal (Load Balancer) Example
RemoteIPHeader X-Client-IP
RemoteIPTrustedProxy 10.0.2.0/24
RemoteIPTrustedProxy gateway.localdomain
-
-
+
@@ -223,13 +217,11 @@ gateway.localdomain #The front end balancer
this header, while any intermediate
RemoteIPInternalProxy addresses are discarded.
- Example
-
+ Example
RemoteIPHeader X-Forwarded-For
RemoteIPProxiesHeader X-Forwarded-By
-
-
+
@@ -250,14 +242,12 @@ RemoteIPProxiesHeader X-Forwarded-By
2000::/3 block) are not trusted as the useragent IP, and are left in the
RemoteIPHeader header's value.
- Trusted (Load Balancer) Example
-
+ Trusted (Load Balancer) Example
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 10.0.2.16/28
RemoteIPTrustedProxy proxy.example.com
-
-
+
@@ -277,13 +267,11 @@ RemoteIPTrustedProxy proxy.example.com
each whitespace or newline separated entry is processed identically to
the RemoteIPTrustedProxy directive.
- Trusted (Load Balancer) Example
-
+ Trusted (Load Balancer) Example
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxyList conf/trusted-proxies.lst
-
-
+
conf/trusted-proxies.lst contents
# Identified external proxies;
diff --git a/docs/manual/mod/mod_rewrite.html.en b/docs/manual/mod/mod_rewrite.html.en
index 55b2c203d44..44fdb92a9b5 100644
--- a/docs/manual/mod/mod_rewrite.html.en
+++ b/docs/manual/mod/mod_rewrite.html.en
@@ -84,12 +84,10 @@ URLs on the fly
level higher than trace2 only for debugging!
- Example
-
+ Example
LogLevel alert rewrite:trace3
-
-
+
RewriteLog
Those familiar with earlier versions of
diff --git a/docs/manual/mod/mod_sed.html.en b/docs/manual/mod/mod_sed.html.en
index 97a0b2f5f5a..195aa558752 100644
--- a/docs/manual/mod/mod_sed.html.en
+++ b/docs/manual/mod/mod_sed.html.en
@@ -75,8 +75,7 @@ the author's blog.
Sample Configuration
- Adding an output filter
-
+ Adding an output filter
# In the following example, the sed filter will change the string
# "monday" to "MON" and the string "sunday" to SUN in html documents
# before sending to the client.
@@ -86,11 +85,9 @@ the author's blog.
OutputSed "s/sunday/SUN/g"
</Directory>
+
-
-
- Adding an input filter
-
+ Adding an input filter
# In the following example, the sed filter will change the string
# "monday" to "MON" and the string "sunday" to SUN in the POST data
# sent to PHP.
@@ -100,8 +97,7 @@ the author's blog.
InputSed "s/sunday/SUN/g"
</Directory>
-
-
+
Sed Commands
diff --git a/docs/manual/mod/mod_session.html.en b/docs/manual/mod/mod_session.html.en
index 740e09dafac..a4985eae195 100644
--- a/docs/manual/mod/mod_session.html.en
+++ b/docs/manual/mod/mod_session.html.en
@@ -159,57 +159,49 @@
where the session will be stored. In this example, the session will be
stored on the browser, in a cookie called session.
- Browser based session
-
+ Browser based session
Session On
SessionCookieName session path=/
-
-
+
The session is not useful unless it can be written to or read from. The
following example shows how values can be injected into the session through
the use of a predetermined HTTP response header called
X-Replace-Session.
- Writing to a session
-
+ Writing to a session
Session On
SessionCookieName session path=/
SessionHeader X-Replace-Session
-
-
+
The header should contain name value pairs expressed in the same format
as a query string in a URL, as in the example below. Setting a key to the
empty string has the effect of removing that key from the session.
- CGI to write to a session
-
+ CGI to write to a session
#!/bin/bash
echo "Content-Type: text/plain"
echo "X-Replace-Session: key1=foo&key2=&key3=bar"
echo
env
-
-
+
If configured, the session can be read back from the HTTP_SESSION
environment variable. By default, the session is kept private, so this
has to be explicitly turned on with the
SessionEnv directive.
- Read from a session
-
+ Read from a session
Session On
SessionEnv On
SessionCookieName session path=/
SessionHeader X-Replace-Session
-
-
+
Once read, the CGI variable HTTP_SESSION should contain
the value key1=foo&key3=bar.
@@ -228,14 +220,12 @@ SessionHeader X-Replace-Session
placed on the browser using the mod_session_crypto
module.
- Browser based encrypted session
-
+ Browser based encrypted session
Session On
SessionCryptoPassphrase secret
SessionCookieName session path=/
-
-
+
The session will be automatically decrypted on load, and encrypted on
save by Apache, the underlying application using the session need have
@@ -268,14 +258,12 @@ SessionCookieName session path=/
Standard cookie parameters can be specified after the name of the cookie,
as in the example below.
- Setting cookie parameters
-
+ Setting cookie parameters
Session On
SessionCryptoPassphrase secret
SessionCookieName session path=/private;domain=example.com;httponly;secure;
-
-
+
In cases where the Apache server forms the frontend for backend origin servers,
it is possible to have the session cookies removed from the incoming HTTP headers using
@@ -293,8 +281,7 @@ SessionCookieName session path=/private;domain=example.com;httponly;secure;
mod_auth_form saves the user's login name and password within
the session.
- Form based authentication
-
+ Form based authentication
Session On
SessionCryptoPassphrase secret
SessionCookieName session path=/
@@ -304,8 +291,7 @@ AuthType form
AuthName realm
#...
-
-
+
See the mod_auth_form module for documentation and complete
examples.
diff --git a/docs/manual/mod/mod_session_cookie.html.en b/docs/manual/mod/mod_session_cookie.html.en
index aa591e2ec52..05d9d2811d7 100644
--- a/docs/manual/mod/mod_session_cookie.html.en
+++ b/docs/manual/mod/mod_session_cookie.html.en
@@ -79,13 +79,11 @@
To create a simple session and store it in a cookie called
session, configure the session as follows:
- Browser based session
-
+ Browser based session
Session On
SessionCookieName session path=/
-
-
+
For more examples on how the session can be configured to be read
from and written to by a CGI application, see the
@@ -115,13 +113,11 @@ SessionCookieName session path=/
Apache. Ensure that your attributes are defined correctly as per the cookie specification.
- Cookie with attributes
-
+ Cookie with attributes
Session On
SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;
-
-
+
@@ -145,13 +141,11 @@ SessionCookieName session path=/private;domain=example.com;httponly;secure;versi
Apache. Ensure that your attributes are defined correctly as per the cookie specification.
- Cookie2 with attributes
-
+ Cookie2 with attributes
Session On
SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
-
-
+
diff --git a/docs/manual/mod/mod_session_crypto.html.en b/docs/manual/mod/mod_session_crypto.html.en
index 6598328958a..e9ba150d771 100644
--- a/docs/manual/mod/mod_session_crypto.html.en
+++ b/docs/manual/mod/mod_session_crypto.html.en
@@ -76,14 +76,12 @@
To create a simple encrypted session and store it in a cookie called
session, configure the session as follows:
- Browser based encrypted session
-
+ Browser based encrypted session
Session On
SessionCookieName session path=/
SessionCryptoPassphrase secret
-
-
+
The session will be encrypted with the given key. Different servers can
be configured to share sessions by ensuring the same encryption key is used
@@ -135,33 +133,25 @@ SessionCryptoPassphrase secret
The NSS crypto driver requires some parameters for configuration,
which are specified as parameters with optional values after the driver name.
- NSS without a certificate database
-
+ NSS without a certificate database
SessionCryptoDriver nss
+
-
-
- NSS with certificate database
-
+ NSS with certificate database
SessionCryptoDriver nss dir=certs
+
-
-
- NSS with certificate database and parameters
-
+ NSS with certificate database and parameters
SessionCryptoDriver nss dir=certs key3=key3.db cert7=cert7.db secmod=secmod
+
-
-
- NSS with paths containing spaces
-
+ NSS with paths containing spaces
SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod
-
-
+
The NSS crypto driver might have already been configured by another
part of the server, for example from mod_nss or
@@ -169,12 +159,10 @@ SessionCryptoPassphrase secret
a warning will be logged, and the existing configuration will have taken affect.
To avoid this warning, use the noinit parameter as follows.
- NSS with certificate database
-
+ NSS with certificate database
SessionCryptoDriver nss noinit
-
-
+
To prevent confusion, ensure that all modules requiring NSS are configured with
identical parameters.
@@ -182,12 +170,10 @@ SessionCryptoPassphrase secret
The openssl crypto driver supports an optional parameter to specify
the engine to be used for encryption.
- OpenSSL with engine support
-
+ OpenSSL with engine support
SessionCryptoDriver openssl engine=name
-
-
+
diff --git a/docs/manual/mod/mod_session_dbd.html.en b/docs/manual/mod/mod_session_dbd.html.en
index 3364256fbb7..53cb131b79d 100644
--- a/docs/manual/mod/mod_session_dbd.html.en
+++ b/docs/manual/mod/mod_session_dbd.html.en
@@ -96,8 +96,7 @@
to update an existing session, to insert a new session, and to delete an expired or empty
session. These queries are configured as per the example below.
- Sample DBD configuration
-
+ Sample DBD configuration
DBDriver pgsql
DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost"
DBDPrepareSQL "delete from session where key = %s" deletesession
@@ -106,8 +105,7 @@ DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" i
DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession
DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession
-
-
+
@@ -121,13 +119,11 @@ DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" clean
table called apachesession, and save the session ID in a cookie
called session, configure the session as follows:
- SQL based anonymous session
-
+ SQL based anonymous session
Session On
SessionDBDCookieName session path=/
-
-
+
For more examples on how the session can be configured to be read
from and written to by a CGI application, see the
@@ -155,13 +151,11 @@ SessionDBDCookieName session path=/
table called apachesession, and with the session keyed to the
userid, configure the session as follows:
- SQL based per user session
-
+ SQL based per user session
Session On
SessionDBDPerUser On
-
-
+
@@ -196,13 +190,11 @@ SessionDBDPerUser On
Apache. Ensure that your attributes are defined correctly as per the cookie specification.
- Cookie with attributes
-
+ Cookie with attributes
Session On
SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;
-
-
+
@@ -226,13 +218,11 @@ SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;ve
Apache. Ensure that your attributes are defined correctly as per the cookie specification.
- Cookie2 with attributes
-
+ Cookie2 with attributes
Session On
SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
-
-
+
diff --git a/docs/manual/mod/mod_ssl.html.en b/docs/manual/mod/mod_ssl.html.en
index ff8d0199073..bb47e5f3cf9 100644
--- a/docs/manual/mod/mod_ssl.html.en
+++ b/docs/manual/mod/mod_ssl.html.en
@@ -239,12 +239,10 @@ you find in the above table.
For backward compatibility there is additionally a special
``%{name}c'' cryptography format function
provided. Information about this function is provided in the Compatibility chapter.
-Example
-
+Example
CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-
-
+
Request Notes
@@ -329,12 +327,10 @@ with. These are used for Client Authentication. Such a file is simply the
concatenation of the various PEM-encoded Certificate files, in order of
preference. This can be used alternatively and/or additionally to
SSLCACertificatePath.
-Example
-
+Example
SSLCACertificateFile /usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt
-
-
+
@@ -357,12 +353,10 @@ hash filenames. So usually you can't just place the Certificate files
there: you also have to create symbolic links named
hash-value.N. And you should always make sure this directory
contains the appropriate symbolic links.
-Example
-
+Example
SSLCACertificatePath /usr/local/apache2/conf/ssl.crt/
-
-
+
@@ -399,12 +393,10 @@ directives.
specify an all-in-one file containing a concatenation of
PEM-encoded CA certificates.
-Example
-
+Example
SSLCADNRequestFile /usr/local/apache2/conf/ca-names.crt
-
-
+
@@ -428,12 +420,10 @@ through hash filenames. So usually you can't just place the
Certificate files there: you also have to create symbolic links named
hash-value.N. And you should always make sure
this directory contains the appropriate symbolic links.
-Example
-
+Example
SSLCADNRequestPath /usr/local/apache2/conf/ca-names.crt/
-
-
+
@@ -468,12 +458,10 @@ to succeed - otherwise it will fail with an
"unable to get certificate CRL" error.
-Example
-
+Example
SSLCARevocationCheck chain
-
-
+
@@ -493,12 +481,10 @@ Authorities (CA) whose clients you deal with. These are used
for Client Authentication. Such a file is simply the concatenation of
the various PEM-encoded CRL files, in order of preference. This can be
used alternatively and/or additionally to SSLCARevocationPath.
-Example
-
+Example
SSLCARevocationFile /usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl
-
-
+
@@ -521,12 +507,10 @@ hash filenames. So usually you have not only to place the CRL files there.
Additionally you have to create symbolic links named
hash-value.rN. And you should always make sure this directory
contains the appropriate symbolic links.
-Example
-
+Example
SSLCARevocationPath /usr/local/apache2/conf/ssl.crl/
-
-
+
@@ -561,12 +545,10 @@ But be careful: Providing the certificate chain works only if you are using a
using a coupled RSA+DSA certificate pair, this will work only if actually both
certificates use the same certificate chain. Else the browsers will be
confused in this situation.
-Example
-
+Example
SSLCertificateChainFile /usr/local/apache2/conf/ssl.crt/ca.crt
-
-
+
@@ -585,12 +567,10 @@ optionally also to the corresponding RSA or DSA Private Key file for it
Pass Phrase dialog is forced at startup time. This directive can be used up to
two times (referencing different filenames) when both a RSA and a DSA based
server certificate is used in parallel.
-Example
-
+Example
SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt
-
-
+
@@ -615,12 +595,10 @@ contained Private Key is encrypted, the Pass Phrase dialog is forced
at startup time. This directive can be used up to two times
(referencing different filenames) when both a RSA and a DSA based
private key is used in parallel.
-Example
-
+Example
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key
-
-
+
@@ -743,12 +721,10 @@ PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1
KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=SHA1
The complete list of particular RSA & DH ciphers for SSL is given in Table 2.
-
-
+
Example
SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW
-
-
| Cipher-Tag | Protocol | Key Ex. | Auth. | Enc. | MAC | Type | httpd version is less or equal |
|---|
-
+
Example
<IfVersion >= 2.3>
# this happens only in versions greater or
# equal 2.3.0.
</IfVersion>
-
-
Besides the numerical comparison it is possible to match a
regular expression
@@ -120,14 +116,12 @@
regex
-
-
+
Example
<IfVersion = /^2.4.[01234]$/>
# e.g. workaround for buggy versions
</IfVersion>
-
-
In order to reverse the meaning, all operators can be preceded by an
exclamation mark (!):
ServerRoot.
-
-
+
Example
PidFile /var/run/apache.pid
-
-
It is often useful to be able to send the server a signal,
so that it closes and then re-opens its ErrorLog and TransferLog, and
@@ -498,12 +496,10 @@ the child processes
disk (using file-based shared memory). Specifying this directive causes
Apache httpd to always create the file on the disk.
-
+
Example
ScoreBoardFile /var/run/apache_status
-
-
File-based shared memory is useful for third-party applications that require direct access to the scoreboard.
diff --git a/docs/manual/platform/windows.html.en b/docs/manual/platform/windows.html.en index 9dfd98642cf..99cb76969e7 100644 --- a/docs/manual/platform/windows.html.en +++ b/docs/manual/platform/windows.html.en @@ -791,30 +791,24 @@ RewriteRule (.*) ${lowercase:$1} [R,L] (Arcane and error prone procedures may work around the restriction on mapped drive letters, but this is not recommended.) -
-
+
Example DocumentRoot with UNC path
DocumentRoot //dochost/www/html/
+
-
+
Example DocumentRoot with IP address in UNC path
DocumentRoot //192.168.1.50/docs/
+
-
+
Example Alias and corresponding Directory with UNC path
Alias /images/ //imagehost/www/images/
<Directory //imagehost/www/images/>
#...
<Directory>
-
-
When running Apache httpd as a service, you must create a
separate account in order to access network resources, as described
diff --git a/docs/manual/rewrite/avoid.html.en b/docs/manual/rewrite/avoid.html.en
index f66b18f4aaa..12b95d3bdf6 100644
--- a/docs/manual/rewrite/avoid.html.en
+++ b/docs/manual/rewrite/avoid.html.en
@@ -124,10 +124,8 @@ is possible to perform this mapping with mod_rewrite,
Alias is the preferred method, for reasons of simplicity
and performance.
-Alias /cats /var/www/virtualhosts/felines/htdocs
-
-
Alias /cats /var/www/virtualhosts/felines/htdocs+
The use of mod_rewrite to perform this mapping may be
diff --git a/docs/manual/upgrading.html.en b/docs/manual/upgrading.html.en
index 78811ea4995..3f911938963 100644
--- a/docs/manual/upgrading.html.en
+++ b/docs/manual/upgrading.html.en
@@ -127,58 +127,40 @@
access control.
In this example, all requests are denied.
-
-
-
+
2.2 configuration:
Order deny,allow
Deny from all
-
- 2.4 configuration:
-
-
+
2.4 configuration:
Require all denied
-
-
In this example, all requests are allowed.
-
-
-
+
2.2 configuration:
Order allow,deny
Allow from all
-
- 2.4 configuration:
-
-
+
2.4 configuration:
Require all granted
-
-
In the following example, all hosts in the example.org domain are allowed access; all other hosts are denied access.
-
-
-
+
2.2 configuration:
Order Deny,Allow
Deny from all
Allow from example.org
-
- 2.4 configuration:
-
-
+
2.4 configuration:
Require host example.org
-
-