From: Stefan Fritsch Date: Sun, 20 Jun 2010 20:26:02 +0000 (+0000) Subject: Update transformations X-Git-Tag: 2.3.7~150 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=391797e7702a52dc18a7cf74ed16248c14317e72;p=apache Update transformations git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@956407 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_proxy.html.en b/docs/manual/mod/mod_proxy.html.en index b7a9d02f7a..90ae7b69c0 100644 --- a/docs/manual/mod/mod_proxy.html.en +++ b/docs/manual/mod/mod_proxy.html.en @@ -759,22 +759,29 @@ through general ProxyPass directive.

-

As of Apache HTTP Server 2.1, the ability to use pooled connections to a backend - server is available. Using the key=value parameters it is - possible to tune this connection pooling. The default for a Hard - Maximum for the number of connections is the number of threads per - process in the active MPM. In the Prefork MPM, this is always 1, while with - the Worker MPM it is controlled by the - ThreadsPerChild.

- -

Setting min will determine how many connections will always - be open to the backend server. Upto the Soft Maximum or smax - number of connections will be created on demand. Any connections above - smax are subject to a time to live or ttl. Apache httpd - will never create more than the Hard Maximum or max connections - to the backend server.

+

In Apache HTTP Server 2.1 and later, mod_proxy supports pooled + connections to a backend server. Connections created on demand + can be retained in a pool for future use. Limits on the pool size + and other settings can be coded on + the ProxyPass directive + using key=value parameters, described in the table + below.

+ +

Setting min will determine how many connections to + the backend server will be retained after use. Up to the + Soft Maximum, or smax, number of connections will be + created on demand. Any connections above smax are + subject to a time to live, or ttl. Apache httpd will + never create more than the Hard Maximum or, max, + connections to the backend server.

+ +

The pool of connections is maintained per web server child + process, and the min, max, and + and smax settings are not coordinated among all child + processes, except when only one child process is allowed by + configuration or MPM design.

-

+

Example

ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300

@@ -784,8 +791,8 @@ through Description min 0 - Minimum number of connections that will always - be open to the backend server. + Minimum number of connections to the backend server that + will be retained after use. max 1...n Hard Maximum number of connections that will be @@ -797,7 +804,7 @@ through to the backend server. smax max - Upto the Soft Maximum + Up to the Soft Maximum number of connections will be created on demand. Any connections above smax are subject to a time to live or ttl. diff --git a/docs/manual/mod/mod_proxy.xml.ja b/docs/manual/mod/mod_proxy.xml.ja index 6ab4f9ca84..2b98a92430 100644 --- a/docs/manual/mod/mod_proxy.xml.ja +++ b/docs/manual/mod/mod_proxy.xml.ja @@ -1,7 +1,7 @@ - + +API Changes in Apache HTTP Server 2.4 since 2.2 - Apache HTTP Server + + + + + +
<-
+

API Changes in Apache HTTP Server 2.4 since 2.2

+
+

Available Languages:  en 

+
+ +

This document describes changes to the Apache HTTPD API from + version 2.2 to 2.4, that may be of interest to module/application + developers and core hacks. At the time of writing, the 2.4 API + is not finalised, and this document may serve to highlight + points that call for further review.

+

API changes fall into two categories: APIs that are altogether new, + and existing APIs that are expanded or changed. The latter are + further divided into those where all changes are back-compatible + (so existing modules can ignore them), and those that might + require attention by maintainers. As with the transition from + HTTPD 2.0 to 2.2, existing modules and applications will require + recompiling and may call for some attention, but most should not + require any substantial updating (although some may be able to + take advantage of API changes to offer significant improvements).

+

For the purpose of this document, the API is split according + to the public header files. These headers are themselves the + reference documentation, and can be used to generate a browsable + HTML reference with make docs.

+
+ +
top
+
+

ap_expr (NEW!)

+ +

Introduces a new API to parse and evaluate boolean and algebraic + expressions, including provision for a standard syntax and + customised variants.

+
top
+
+

ap_listen (changed; back-compatible)

+ +

Introduces new API to enable apache child processes to serve different purposes.

+
top
+
+

ap_mpm (changed)

+ +

ap_mpm_run is replaced by a new mpm hook. + Also ap_graceful_stop_signalled is lost, and + ap_mpm_register_timed_callback is new.

+
top
+
+

ap_slotmem (NEW!)

+ +

Introduces an API for modules to allocate and manage memory slots + (normally) for shared memory.

+
top
+
+

ap_socache (NEW!)

+ +

API to manage a shared object cache.

+
top
+
+

heartbeat (NEW!)

+ +

common structures for heartbeat modules (should this be public API?)

+
top
+
+

http_config (changed)

+ +
    +
  • Introduces per-module, per-directory loglevels, including macro wrappers.
  • +
  • New AP_DECLARE_MODULE macro to declare all modules.
  • +
  • New APLOG_USE_MODULE macro necessary for per-module loglevels in + multi-file modules.
  • +
  • New API to retain data across module unload/load
  • +
  • New check_config hook
  • +
  • New ap_process_fnmatch_configs() to process wildcards
  • +
+
top
+
+

http_core (changed)

+ +
    +
  • REMOVED ap_default_type, ap_requires, all 2.2 authnz API
  • +
  • Introduces Optional Functions for logio and authnz
  • +
  • New function ap_get_server_name_for_url to support ipv6 literals.
  • +
+
top
+
+

httpd (changed)

+ +
    +
  • Introduce per-directory, per-module loglevel
  • +
  • New loglevels APLOG_TRACEn
  • +
  • Support for mod_request kept_body
  • +
  • Support buffering filter data for async requests
  • +
  • New CONN_STATE values
  • +
  • Function changes: ap_escape_html updated; ap_unescape_all, ap_escape_path_segment_buffer
  • +
+
top
+
+

http_log (changed)

+ +
    +
  • Introduce per-directory, per-module loglevel
  • +
  • New loglevels APLOG_TRACEn
  • +
  • ap_log_*error become macro wrappers (fully back-compatible if + APLOG_MARK macro is used)
  • +
  • piped logging revamped
  • +
  • module_index added to error_log hook
  • +
  • new function: ap_log_command_line
  • +
+
top
+
+

http_request (changed)

+ +
    +
  • New auth_internal API and auth_provider API
  • +
  • New EOR bucket type
  • +
  • New function ap_process_async_request
  • +
  • New functions ap_hook_check_access, ap_hook_check_authn, ap_hook_check_authz (why are these called ap_hook_* when they are functions not hooks?)
  • +
+
top
+
+

mod_auth (NEW!)

+ +

Introduces the new provider framework for authn and authz

+
top
+
+

mod_core (NEW!)

+ +

This introduces low-level APIs to send arbitrary headers, + and exposes functions to handle HTTP OPTIONS and TRACE.

+
top
+
+

mod_request (NEW!)

+ +

The API for mod_request, to make input data + available to multiple application/handler modules where required, + and to parse HTML form data.

+
top
+
+

mpm_common (changed)

+ +
    +
  • REMOVES: accept, lockfile, lock_mech, set_scoreboard (locking uses the new ap_mutex API)
  • +
  • NEW API to drop privileges (delegates this platform-dependent + function to modules)
  • +
  • NEW Hooks: mpm_query, mpm_note_child_killed, timed_callback, get_name, and function ap_mpm_note_child_killed
  • +
+
top
+
+

scoreboard (changed)

+ +

ap_get_scoreboard_worker is gratuitously made non-back-compatible + as an alternative version is introduced. Additional proxy_balancer + support. Child status stuff revamped.

+
top
+
+

util_cookies (NEW!)

+ +

Introduces a new API for managing HTTP Cookies.

+
top
+
+

util_ldap (changed)

+ +

I have yet to get a handle on this update.

+
top
+
+

util_mutex (NEW!)

+ +

A wrapper for APR proc and global mutexes in httpd.

+
top
+
+

util_script (changed)

+ +

NEW: ap_args_to_table

+
top
+
+

util_time (changed)

+ +

NEW: ap_recent_ctime_ex

+
+
+

Available Languages:  en 

+
+ \ No newline at end of file diff --git a/docs/manual/new_api_2_4.xml.meta b/docs/manual/new_api_2_4.xml.meta new file mode 100644 index 0000000000..fde18204c0 --- /dev/null +++ b/docs/manual/new_api_2_4.xml.meta @@ -0,0 +1,12 @@ + + + + + new_api_2_4 + / + . + + + en + + diff --git a/docs/manual/rewrite/intro.html.fr b/docs/manual/rewrite/intro.html.fr index 6c92c64c8d..f770cc1016 100644 --- a/docs/manual/rewrite/intro.html.fr +++ b/docs/manual/rewrite/intro.html.fr @@ -61,18 +61,14 @@ courantes n'ont pas besoin de la puissance et de la complexit mod_alias et la documentation sur la Mise en correspondance des URLs avec le système de fichiers.

-

Enfin, avant de procéder, assurez-vous d'avoir configuré la directive -RewriteLog. Bien que ce -fichier journal puisse contenir une quantité impressionnante d'informations, -il s'avère indispensable pour le débogage des problèmes avec la -configuration de mod_rewrite, car il vous indiquera -exactement la manière dont chaque règle est traitée.

- -
-

On ne peut pas utiliser la directive RewriteLog dans les fichiers -.htaccess, car elle doit être définie au niveau du fichier -de configuration du serveur principal.

-
+

Enfin, avant de procéder, assurez-vous d'avoir configuré le niveau de +journalisation de mod_rewrite à un des niveaux de trace +via la directive LogLevel. Bien que +ceci risque de vous submerger sous une énorme quantité d'informations, +le débogage des problèmes avec la configuration de +mod_rewrite est à ce prix car vous verrez alors +exactement comment chaque règle est traitée.

+
top

Expressions rationnelles

@@ -324,8 +320,7 @@ alors %1 contiendrait example.com et

La directive RewriteMap permet en quelque sorte de faire appel à une fonction externe pour effectuer la réécriture à votre place. Tout ceci est décrit plus en -détails dans la Documentation supplémentaire -sur RewriteMap.

+détails dans la Documentation supplémentaire sur RewriteMap.

top

Fichiers .htaccess

diff --git a/docs/manual/upgrading.html.en b/docs/manual/upgrading.html.en index fb9bd077c6..7f0f06a9e1 100644 --- a/docs/manual/upgrading.html.en +++ b/docs/manual/upgrading.html.en @@ -29,6 +29,12 @@ the src/CHANGES file. Application and module developers can find a summary of API changes in the API updates overview.

+

This document describes changes in server behavior that might + require you to change your configuration or how you use the server + in order to continue using 2.4 as you are currently using 2.2. + To take advantage of new features in 2.4, see the New Features + document.

+

This document describes only the changes from 2.2 to 2.4. If you are upgrading from version 2.0, you should also consult the 2.0 to 2.2 upgrading document.

@@ -38,30 +44,212 @@
  • Run-Time Configuration Changes
  • Misc Changes
  • Third Party Modules
  • +
  • Common problems when upgrading
  • See also

    top

    Compile-Time Configuration Changes

    + +

    The compilation process is very similar to the one used in + version 2.2. Your old configure command line (as + found in build/config.nice in the installed server + directory) can be used in most cases. There are some changes in + the default settings. Some details of changes:

    +
      +
    • These modules have been removed: mod_authn_default, + mod_authz_default, mod_mem_cache. If you were using + mod_mem_cache in 2.2, look at mod_disk_cache in + 2.4.
    • + +
    • All load balancing implementations have been moved to + individual, self-contained mod_proxy submodules, e.g. + mod_lbmethod_bybusyness. You might need + to build and load any of these that your configuration + uses.
    • + +
    • Platform support has been removed for BeOS, OS/2, TPF, and + even older platforms such as A/UX, Next, and Tandem. These were + believed to be broken anyway.
    • + +
    • configure: dynamic modules (DSO) are built by default
    • + +
    • configure: the "most" module set gets built by default
    • +
    top

    Run-Time Configuration Changes

    +

    There have been significant changes in authorization configuration, + and other minor configuration changes, that could require changes to your 2.2 + configuration files before using them for 2.4.

    + +

    Authorization

    + + +

    Any configuration file that uses authorization will likely + need changes.

    + +

    You should review the Authentication, + Authorization and Access Control Howto, especially the section + Beyond just authorization + which explains the new mechanisms for controlling the order in + which the authorization directives are applied.

    + +

    Access control

    + + +

    In 2.2, access control based on client hostname, IP address, + and other characteristics of client requests was done using the + directives Order, Allow, Deny, and Satisfy.

    + +

    In 2.4, such access control is done in the same way as other + authorization checks, using the new module + mod_authz_host. The old access control idioms + should be replaced by the new authentication mechanisms, + although for compatibility with old configurations, the new + module mod_access_compat is provided.

    + +

    Here are some examples of old and new ways to do the same + access control.

    + +

    In this example, all requests are denied.

    +

    2.2 configuration:

    + + Order deny,allow
    + Deny from all +

    +

    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:

    + + Require all granted +

    + +

    In the following example, all hosts in the apache.org domain + are allowed access; all other hosts are denied access.

    + +

    2.2 configuration:

    + + Order Deny,Allow
    + Deny from all
    + Allow from apache.org +

    +

    2.4 configuration:

    + + Require host apache.org +

    + + +

    Other configuration changes

    + + +

    Some other small adjustments may be necessary for particular + configurations as discussed below.

    + +
      +
    • The DefaultType + directive no longer has any effect, other than to emit a + warning if it's used with any value other than + none. You need to use other configuration + settings to replace it in 2.4. +
    • + +
    • mod_log_config: ${cookie}C + matches whole cookie names. Previously any substring would + match.
    • + +
    • mod_dav_fs: The format of the DavLockDB file has changed for + systems with inodes. The old DavLockDB file must be deleted on + upgrade. +
    • + +
    • KeepAlive only + accepts values of On or Off. + Previously, any value other than "Off" or "0" was treated as + "On".
    • + +
    • Directives AcceptMutex, LockFile, RewriteLock, SSLMutex, + SSLStaplingMutex, and WatchdogMutexPath have been replaced + with a single Mutex + directive. You will need to evaluate any use of these removed + directives in your 2.2 configuration to determine if they can + just be deleted or will need to be replaced using Mutex.
    • + +
    • mod_cache: CacheIgnoreURLSessionIdentifiers + now does an exact match against the query string instead of a + partial match. If your configuration was using partial + strings, e.g. using sessionid to match + /someapplication/image.gif;jsessionid=123456789, + then you will need to change to the full string + jsessionid. +
    • + +
    • mod_ldap: LDAPTrustedClientCert is now + consistently a per-directory setting only. If you use this + directive, review your configuration to make sure it is + present in all the necessary directory contexts.
    • + +
    +
    top

    Misc Changes

    +
      +
    • mod_auto_index: will now extract titles and + display descriptions for .xhtml files, which were previously + ignored.
    • +
    • htpasswd now uses MD5 hash by default on + all platforms.
    • +
    + +
    top

    Third Party Modules

    +

    All modules must be recompiled for 2.4 before being loaded.

    +

    Many third-party modules designed for version 2.2 will + otherwise work unchanged with the Apache HTTP Server version 2.4. + Some will require changes; see the API + update overview.

    +
    top
    +
    +

    Common problems when upgrading

    + +
    • Startup errors: +
        +
      • Invalid command 'User', perhaps misspelled or defined by a module not included in the server configuration - load module mod_unixd
      • +
      • Invalid command 'Require', perhaps misspelled or defined by a module not included in the server configuration, or +Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration + - load module mod_access_compat, or update configuration to 2.4 authorization directives.
      • +
      • Ignoring deprecated use of DefaultType in line NN of /path/to/httpd.conf - remove DefaultType + and replace with other configuration settings.
      • +
    • +
    • Errors serving requests: +
        +
      • configuration error: couldn't check user: /path - + load module mod_authn_core.
      • +
      +
    • +

    Available Languages:  en  | diff --git a/docs/manual/upgrading.xml.fr b/docs/manual/upgrading.xml.fr index be9d35d3dd..fd554e52f7 100644 --- a/docs/manual/upgrading.xml.fr +++ b/docs/manual/upgrading.xml.fr @@ -3,7 +3,7 @@ - +