You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ig...@apache.org on 2010/10/28 14:22:24 UTC

svn commit: r1028274 - /trafficserver/site/branches/ats-cms/content/docs/admin/files.mdtext

Author: igalic
Date: Thu Oct 28 12:22:23 2010
New Revision: 1028274

URL: http://svn.apache.org/viewvc?rev=1028274&view=rev
Log:
records config finished, needs to be re-checked against current state of reality.

Modified:
    trafficserver/site/branches/ats-cms/content/docs/admin/files.mdtext

Modified: trafficserver/site/branches/ats-cms/content/docs/admin/files.mdtext
URL: http://svn.apache.org/viewvc/trafficserver/site/branches/ats-cms/content/docs/admin/files.mdtext?rev=1028274&r1=1028273&r2=1028274&view=diff
==============================================================================
--- trafficserver/site/branches/ats-cms/content/docs/admin/files.mdtext (original)
+++ trafficserver/site/branches/ats-cms/content/docs/admin/files.mdtext Thu Oct 28 12:22:23 2010
@@ -58,7 +58,7 @@ Traffic Server.
 
 Bypass rules follow the format below:
 
-   bypass src ipaddress | dst ipaddress | src ipaddress AND dst ipaddress
+    bypass src ipaddress | dst ipaddress | src ipaddress AND dst ipaddress
 
 The following list describes the variables.
 
@@ -204,11 +204,11 @@ The following list shows possible action
 *`action`*
 :  One of the following values:
 
-   `never-cache` configures Traffic Server to never cache specified objects.<br />
+   `never-cache` configures Traffic Server to never cache specified objects.   
    `ignore-no-cache` configures Traffic Server to ignore all
-     `Cache-Control: no-cache` headers.<br />
+     `Cache-Control: no-cache` headers.   
    `ignore-client-no-cache` configures Traffic Server to ignore
-     `Cache-Control: no-cache` headers from client requests.<br />
+     `Cache-Control: no-cache` headers from client requests.   
    `ignore-server-no-cache` configures Traffic Server to ignore
      `Cache-Control: no-cache` headers from origin server responses.
 
@@ -404,117 +404,6 @@ variables in the records.config file:
     proxy.config.http.down_server.abort_threshold
 
 
-## filter.config ## {#filter.config}
-
-The `filter.config` file enables you to deny or allow particular requests
-and strip header information from client requests. After you modify
-`filter.config`, you must restart Traffic Server.
-
-
-#### Format ####
-
-Each line in `filter.config` contains a filtering rule. Traffic Server
-applies the rules in the order listed, starting at the top of the file.
-Traffic Server recognizes three space-delimited tags:
-
-    primary_destination=value secondary_specifier=value action=(allow|deny)
-
-The following list shows possible primary destinations with their allowed
-values.
-
-*`dest_domain`*
-:  A requested domain name. Traffic Server matches the domain name of the
-   destination from the URL in the request.
-
-*`dest_host`*
-:  A requested hostname. Traffic Server matches the hostname of the
-   destination from the URL in the request.
-
-*`dest_ip`*
-:  A requested IP address. Traffic Server matches the IP address of the
-   destination in the request.
-
-*`url_regex`*
-:  A regular expression (regex) to be found in a URL.
-
-The secondary specifiers are optional in the filter.config file. The
-following list shows the possible secondary specifiers and their allowed
-values. You can use more than one secondary specifier in a rule; however,
-you cannot repeat a secondary specifier.
-
-*`port`*
-:   A requested URL port.
-
-*`scheme`*
-:   A request URL protocol: `http` or `https`.
-
-*`prefix`*
-:  A prefix in the path part of a URL.
-
-*`suffix`*
-:  A file suffix in the URL.
-
-*`method`*
-:  A request URL method. You can specify one of the following:
-   `get
-    post
-    put
-    trace
-    PUSH`
-
-   **Note:** If the `PUSH` option is enabled (the `PUSH` option lets you deliver
-   content directly to the cache without user request), then you must add
-   a filtering rule with the `PUSH` action to ensure that only known source
-   IP addresses implement `PUSH` requests to the cache. To enable the PUSH
-   option, set the configuration variable
-   `proxy.config.http.push_method_enabled` to `1` in the
-   [records.config](#records.config) file.
-
-*`time`*
-:  A time range, such as 08:00-14:00.
-
-*`src_ip`*
-:  A client IP address.<br />
-   **Note:** `src_ip` is not supported for PNA content.
-
-
-#### Examples ####
-
-The following example configures Traffic Server to keep the client IP
-address header for URL requests that contain the regular expression
-giraffes and whose path prefix is `/habitat`:
-
-    url_regex=giraffes prefix=/habitat keep_hdr=client_ip
-
-The following example configures Traffic Server to strip all cookies from
-client requests destined for the origin server `www.server1.com`:
-
-    dest_host=www.server1.com strip_hdr=cookie
-
-The following example configures Traffic Server to disallow puts to the
-origin server `www.server2.com`:
-
-    dest_host=www.server2.com method=put action=deny
-
-The following example configures Traffic Server to allow only the host
-associated with the IP address `11.11.1.1` to deliver content directly into
-the cache (`PUSH`). A deny rule is also included to prevent unauthorized
-users from pushing content into the cache.
-
-    dest_domain=. src_ip=11.11.1.1 method=PUSH action=allow
-    dest_domain=. method=PUSH action=deny
-
-Traffic Server applies the rules in the order listed in the `filter.config`
-file. For example, the sample `filter.config` file below configures Traffic
-Server to do the following:
-
-- Allow all users (except those trying to access internal.com ) to
-  access server1.com
-- Deny all users access to naughty.com
-
-    dest_host=server1.com action=allow
-    dest_host=naughty.com action=deny
-
 
 ## hosting.config ## {#hosting.config}
 
@@ -538,7 +427,9 @@ applies the changes to all other nodes i
 **IMPORTANT:** The partition configuration must be the same on all nodes in a
 cluster.
 
+
 #### Format ####
+
 Each line in the `hosting.config` file must have one of the following
 formats:
 
@@ -559,7 +450,9 @@ you must enter the partitions in a comma
 shown in the example below. The [hosting.config](#hosting.config) file
 cannot contain multiple entries for the same origin server or domain.
 
+
 #### Generic Partition ####
+
 When configuring the hosting.config file, you must assign a generic
 partition to use for content that does not belong to any of the origin
 servers or domains listed. If all partitions for a particular origin
@@ -572,7 +465,9 @@ The generic partition must have the foll
 
 where `partition_numbers` is a comma-separated list of generic partitions.
 
+
 #### Examples ####
+
 The following example configures Traffic Server to store content from the
 domain `mydomain.com` in partition 1 and content from `www.myhost.com` in
 partition 2. Traffic Server stores content from all other origin servers
@@ -582,7 +477,9 @@ in partitions 3 and 4.
     hostname=www.myhost.com partition=2
     hostname=* partition=3,
 
+
 ## icp.config ## {#icp.config}
+
 The `icp.config` file defines ICP peers (parent and sibling caches).
 
 **IMPORTANT:** After you modify the icp.config file, navigate to the Traffic
@@ -622,7 +519,9 @@ Each field is described in the following
 :  The port number of the UDP port used by the ICP peer for ICP
    communication.
 
+
 #### Examples ####
+
 The following example configuration is for three nodes: the local host,
 one parent, and one sibling.
 
@@ -630,7 +529,9 @@ one parent, and one sibling.
     host1:123.12.1.23:1:8080:3131:0:0.0.0.0:1
     host2:123.12.1.24:2:8080:3131:0:0.0.0.0:1
 
+
 ## ip\_allow.config ## {#ip\_allow.config}
+
 The `ip_allow.config` file controls client access to the Traffic Server
 proxy cache. You can specify ranges of IP addresses that are allowed to
 use the Traffic Server as a web proxy cache.
@@ -639,7 +540,9 @@ bin directory and run the `traffic_line 
 you apply the changes to a node in a cluster, Traffic Server automatically
 applies the changes to all other nodes in the cluster.
 
+
 #### Format ####
+
 Each line in the `ip_allow.config` file must have the following format:
 
     src_ip=ipaddress action=ip_allow | ip_deny
@@ -656,7 +559,9 @@ access, comment out or delete this line 
 
     src_ip=0.0.0.0-255.255.255.255 action=ip_allow
 
+
 #### Examples ####
+
 The following example enables all clients to access the Traffic Server
 proxy cache:
 
@@ -672,6 +577,7 @@ the Traffic Server proxy cache:
 
     src_ip=123.45.6.0-123.45.6.123 action=ip_deny
 
+
 ## logs.config  ## {#logs.config}
 
 The `logs.config` file establishes and formats **traditional**
@@ -691,7 +597,9 @@ to apply changes. When you apply the cha
 cluster, Traffic Server automatically applies the changes to all
 other nodes in the cluster.
 
+
 #### Format ####
+
 Each line in the `logs.config` file establishes and formats a
 custom transaction log file. Lines consist of the following fields,
 separated by colons (:).
@@ -703,8 +611,8 @@ separated by colons (:).
 :  Specifies if the custom log file is activated. You can specify one
    of the following options:
 
-    enabled
-    disabled
+       enabled
+       disabled
 
 *`unique format identifier`*
 :  You must use a unique integer for each custom log file you create.
@@ -797,7 +705,9 @@ record all transactions from origin serv
 keyword in their names in a separate log file. See the example
 below.
 
+
 #### Examples ####
+
 The following example configures Traffic Server to create separate
 log files containing all HTTP transactions for the origin servers
 `webserver1`, `webserver2`, and `webserver3`.
@@ -821,6 +731,7 @@ The `logs_xml.config` file defines the c
 filters, and processing options. The format of this file is modeled
 after **XML**, the Extensible Markup Language.
 
+
 #### Format ####
 
 The `logs_xml.config` file contains the specifications below:
@@ -856,12 +767,14 @@ The following list shows **`LogFormat`**
 
    The specified field can be one of the following types:
 
-   Simple. For example: `%<cqu>`<br />
+   Simple. For example: `%<cqu>`   
    A field within a container, such as an HTTP header or a statistic.
    Fields of this type have the syntax:
-   `%<{` *`field`* `}` *`container`* `>`
+
+       %<{ field } containe>
+
    Aggregates, such as `COUNT`, `SUM`, `AVG`, `FIRST`, `LAST`. Fields
-   of this type have the syntax: `%<operator (` *`field`* `)>`
+   of this type have the syntax: `%<operator (` *`field`* `)>`   
    **Note:** You cannot create a format specification that contains
    both aggregate operators and regular fields.
 
@@ -881,7 +794,7 @@ The following list shows **`LogFormat`**
 
 ### LogFilters  ### {#logfilters}
 
-The following list shows the **`LogFilter`** specifications.
+The following list shows the `LogFilter` specifications.
 
 `<Name = "valid_filter_name"/>`
 :  Required. All filters must be uniquely named.
@@ -922,7 +835,7 @@ The following list shows the **`LogFilte
 
 ### LogObject  ### {#LogObject}
 
-The following list shows the **`LogObject`** specifications.
+The following list shows the `LogObject` specifications.
 
 `<Format = "valid_format_name"/>`
 :  Required. Valid format names include the predefined logging
@@ -997,18 +910,18 @@ The following list shows the **`LogObjec
 `<RollingEnabled = "truth value"/>`
 :  Enables or disables log file rolling for the `LogObject`. This
    setting overrides the value for the
-   *`proxy.config.log2.rolling_enabled</i>` variable in the
-   `records.config` file. Set *`truth value</i>` to one of the
+   *`proxy.config.log2.rolling_enabled`* variable in the
+   `records.config` file. Set *`truth value`* to one of the
    following values:
 
-   `0` to disable rolling for this particular `LogObject`.
+   `0` to disable rolling for this particular `LogObject`.   
    `1` to roll log files at specific intervals during the day (you
    specify time intervals with the `RollingIntervalSec` and
-   `RollingOffsetHr` fields).
+   `RollingOffsetHr` fields).   
    `2` to roll log files when they reach a certain size (you specify
-   the size with the`RollingSizeMb` field).
+   the size with the`RollingSizeMb` field).   
    `3` to roll log files at specific intervals during the day or when
-   they reach a certain size (whichever occurs first).
+   they reach a certain size (whichever occurs first).   
    `4` to roll log files at specific intervals during the day when log
    files reach a specific size (at a specified time if the file is of
    the specified size).
@@ -1028,13 +941,15 @@ The following list shows the **`LogObjec
    produced only at that time. The impact of this setting is only
    noticeable if the rolling interval is larger than one hour.
    This setting overrides the configuration setting
-   for*`proxy.config.log2.rolling_offset_hr`* in the
+   for *`proxy.config.log2.rolling_offset_hr`* in the
    `records.config` file.
 
 `<RollingSizeMb = "size_in_MB"/>`
 :  The size at which log files are rolled.
 
+
 #### Examples ####
+
 The following is an example of a **`LogFormat`** specification
 that collects information using three common fields:
 
@@ -1095,7 +1010,9 @@ entries are sent to port 4000 of the col
               <CollationHosts = "logs.company.com:4000,209.131.52.129:5000"/>
          </LogObject>
 
+
 #### WELF ####
+
 Traffic Server supports WELF (WebTrends Enhanced Log Format) so you
 can analyze Traffic Server log files with WebTrends reporting
 tools. A predefined `<LogFormat>` that is compatible with WELF is
@@ -1133,10 +1050,13 @@ command to apply your changes. When you 
 node in a cluster, Traffic Server automatically applies the changes
 to all other nodes in the cluster.
 
+
 #### Format ####
+
 Each line in the `parent.config` file must contain a parent caching
 rule. Traffic Server recognizes three space-delimited tags:
-`<em>primary_destination</em>=<em>value secondary_specifier</em>=<em>value  action</em>=<em>value</em>`
+
+    primary_destination=value secondary_specifie=value  action=value
 
 The following list shows the possible primary destinations and
 their allowed values.
@@ -1172,10 +1092,11 @@ their allowed values.
 
 *`method`*
 :  A request URL method. It can be one of the following:
-   `get`
-   `post`
-   `put`
-   `trace`
+
+    get
+    post
+    put
+    trace
 
 *`time`*
 :  A time range, such as 08:00-14:00, during which the parent cache is
@@ -1210,13 +1131,17 @@ values.
    origin server.
    `false` - requests do not bypass parent hierarchies.
 
+
 ### Examples ###
+
 The following rule configures a parent cache hierarchy consisting
 of Traffic Server (which is the child) and two parents, `p1.x.com`
 and `p2.x.com`. Traffic Server forwards the requests it cannot
 serve to the parent servers `p1.x.com` and `p2.x.com` in a
-round-robin fashion because:`<br />`
-`round_robin=true.  <br />``dest_domain=. method=get parent=”p1.x.com:8080; p2.y.com:8080” round_robin=true`
+round-robin fashion because:
+
+    round_robin=true
+    dest_domain=. method=get parent="p1.x.com:8080; p2.y.com:8080" round_robin=true
 
 The following rule configures Traffic Server to route all requests
 containing the regular expression `politics` and the path
@@ -1227,7 +1152,9 @@ hierarchies):
 Every line in the `parent.config` file must contain either a
 `parent=` or `go_direct=` directive.
 
+
 ## partition.config ## {#parition.config}
+
 The `partition.config` file enables you to manage your cache space
 more efficiently and restrict disk usage by creating cache
 partitions of different sizes for specific protocols. You can
@@ -1246,7 +1173,8 @@ instructions about partitioning the cach
 
 For each partition you want to create, enter a line with the
 following format:
-`partition=`*`partition_number`*  `scheme=`*`protocol_type`*  `size=`*`partition_size`*
+
+    partition=partition_number  scheme=protocol_type  size=partition_size
 
 where *`partition_number`* is a number between 1 and 255 (the
 maximum number of partitions is 255) and *`protocol_type`* is
@@ -1321,6 +1249,7 @@ timeout to 10 seconds.
 The following list describes the configuration variables available in
 the `records.config` file.
 
+
 **System Variables**
 
 *`proxy.config.proxy_name`*
@@ -1509,11 +1438,11 @@ the `records.config` file.
    If the value is set to '\#-1' Traffic Server will not change the
    user during startup.
 
-   Setting user\_id to 'root' or '\#0' is now forbidden to increase
-   security. Trying to do so, will cause the traffic\_server fatal
+   Setting `user_id` to `root` or `#0` is now forbidden to increase
+   security. Trying to do so, will cause the `traffic_server` fatal
    failure. However there are two ways to bypass that restriction:
-   Specify -DBIG\_SECURITY\_HOLE in CXXFLAGS during compilation
-   Set the user\_id=\#-1 and start trafficserver as root.
+   Specify `-DBIG_SECURITY_HOLE` in `CXXFLAGS` during compilation
+   Set the `user_id=#-1` and start trafficserver as root.
 
 
 **Process Manager**
@@ -1578,7 +1507,7 @@ the `records.config` file.
 
     CONFIG proxy.config.http.server_other_ports STRING 6060:X 9090:X
 
-   would listed to ports 6060, 9090, and the port specified by
+   would listed to ports `6060`, `9090`, and the port specified by
    *`proxy.config.http.server_port`*.
 
 *`proxy.config.http.ssl_ports`*
@@ -1609,9 +1538,9 @@ the `records.config` file.
 :  `1`
 :  You can specify one of the following:
 
-  `0` no extra information is added to the string.<br />
-  `1` all extra information is added.<br />
-  `2` some extra information is added.<br />
+  `0` no extra information is added to the string.   
+  `1` all extra information is added.   
+  `2` some extra information is added.   
 
 *`proxy.config.http.enable\_url\_expandomatic`*
 :  `INT`
@@ -1626,12 +1555,12 @@ the `records.config` file.
 
 *`proxy.config.http.chunking_enabled `*
 :  `INT`
-:  `0`
+:  `1`
 :  Specifies whether Traffic Sever can generate a chunked response:
 
-   `0` Never<br />
-   `1` Always<br />
-   `2` Generate a chunked response if the server has returned HTTP/1.1 before<br />
+   `0` Never  
+   `1` Always  
+   `2` Generate a chunked response if the server has returned HTTP/1.1 before   
    `3` = Generate a chunked response if the client request is HTTP/1.1 and
    the origin server has returned HTTP/1.1 before
 
@@ -2079,7 +2008,7 @@ the `records.config` file.
 :  `INT`
 :  `604800`
 :  The maximum age allowed for a stale response before it cannot be
-cached.
+   cached.
 
 *`proxy.config.http.cache.range.lookup `*
 :  `INT`
@@ -2175,3 +2104,1558 @@ cached.
 
 **Heuristic Expiration**
 
+*`proxy.config.http.cache.heuristic_min_lifetime`*
+:  `INT`
+:  `3600`
+:  The minimum amount of time a document in the cache is considered to
+   be fresh.
+
+*`proxy.config.http.cache.heuristic_max_lifetime`*
+:  `INT`
+:  `86400`
+:  The maximum amount of time a document in the cache remains fresh.
+
+*`proxy.config.http.cache.heuristic_lm_factor`*
+:  `FLOAT`
+:  `0.10000`
+:  The aging factor for freshness computations.
+
+*`proxy.config.http.cache.fuzz.time`*
+:  `INT`
+:  `240`
+:  How often Traffic Server checks for an early refresh, during the
+   period before the document stale time. The interval specified must
+   be in seconds.
+
+*`proxy.config.http.cache.fuzz.probability`*
+:  `FLOAT`
+:  `0.00500`
+:  The probability that a refresh is made on a document during the
+   specified fuzz time.
+
+**Dynamic Content & Content Negotiation**
+
+*`proxy.config.http.cache.vary_default_text`*
+:  `STRING`
+:  `NULL`
+:  The header on which Traffic Server varies for text documents.
+
+   For example: if you specify `user-agent`, then Traffic Server
+   caches all the different user-agent versions of documents it
+   encounters.
+
+*`proxy.config.http.cache.vary_default_images`*
+:  `STRING`
+:  `NULL`
+:  The header on which Traffic Server varies for images.
+
+*`proxy.config.http.cache.vary_default_other`*
+:  `STRING`
+:  `NULL`
+:  The header on which Traffic Server varies for anything other than
+   text and images.
+
+
+**Customizable User Response Pages**
+
+*`proxy.config.body_factory.enable_customizations`*
+:  `INT`
+:  `0`
+:  Specifies whether customizable response pages are enabled or
+   disabled and which response pages are used:
+
+   `0` = disable customizable user response pages  
+   `1` = enable customizable user response pages in the default
+   directory only  
+   `2` = enable language-targeted user response pages
+
+*`proxy.config.body_factory.enable_logging`*
+:  `INT`
+:  `1`
+:  Enables (`1`) or disables (`0`) logging for customizable response
+   pages.   
+   When enabled, Traffic Server records a message in the error log
+   each time a customized response page is used or modified.
+
+*`proxy.config.body_factory.template_sets_dir`*
+:  `STRING`
+:  `config/body_factory`
+:  The customizable response page default directory.
+
+*`proxy.config.body_factory.response_suppression_mode`*
+:  `INT`
+:  `0`
+:  Specifies when Traffic Server suppresses generated response pages:
+
+   `0` = never suppress generated response pages  
+   `1` = always suppress generated response pages  
+   `2` = suppress response pages only for intercepted traffic
+
+
+**DNS**
+
+*`proxy.config.dns.search_default_domains`*
+:  `INT`
+:  `1`
+:  Enables (`1`) or disables (`0`) local domain expansion so that
+   Traffic Server can attempt to resolve unqualified hostnames by
+   expanding to the local domain.
+
+   For example: if a client makes a request to an unqualified host
+   (`host_x`) and the Traffic Server local domain is `y.com` , then
+   Traffic Server will expand the hostname to `host_x.y.com`.
+
+*`proxy.config.dns.splitDNS.enabled`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) DNS server selection.  
+   When enabled, Traffic Server refers to the `splitdns.config` file
+   for the selection specification.
+
+   Refer to
+   [Configuring DNS Server Selection (Split DNS)](secure.html#ConfiguringDNSServerSelectionSplit).
+
+*`proxy.config.dns.splitdns.def_domain`*
+:  `STRING`
+:  `NULL`
+:  The default domain for split DNS requests. This value is appended
+   automatically to the hostname if it does not include a domain
+   before split DNS determines which DNS server to use.
+
+*`proxy.config.dns.url_expansions`*
+:  `STRING`
+:  `NULL`
+:  Specifies a list of hostname extensions that are automatically
+   added to the hostname after a failed lookup.
+
+   For example: if you want Traffic Server to add the hostname
+   extension .org, then specify `org` as the value for this variable
+   (Traffic Server automatically adds the dot (.).
+
+   **Note:** If the variable
+   *`proxy.config.http.enable_url_expandomatic`* is set to `1`
+   (the default value), then you do not have to add **`www.`** and
+   **`.com`** to this list because Traffic Server automatically tries
+   www. and .com after trying the values you've specified.
+
+*`proxy.config.dns.round_robin_nameservers`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) DNS server round-robin.
+
+*`proxy.config.dns.nameservers`*
+:  `STRING`
+:  `NULL`
+:  The DNS servers.
+
+*`proxy.config.srv_enabled`*
+:  `INT`
+:  `0`
+:  Indicates whether to utilize SRV records for orgin server lookup.
+
+
+**HostDB**
+
+*`proxy.config.hostdb.serve_stale_for`*
+:  `INT`
+:  `0`
+:  The number of seconds for which to utilize a stale NS record while
+   initiating a background fetch for the new data.
+
+*`proxy.config.hostdb.storage_size`*
+:  `INT`
+:  `33554432`
+:  The amount of space (in bytes) used to store *`hostdb`*. The
+   value of this variable must be increased if you increase the size
+   of the *`proxy.config.hostdb.size`* variable.
+
+*`proxy.config.hostdb.size`*
+:  `INT`
+:  `200000`
+:  The maximum number of entries allowed in the host database.
+
+   **Note:** For values above `200000`, you must increase the value of
+   the *`proxy.config.hostdb.storage_size`* variable by at least
+   44 bytes per entry.
+
+*`proxy.config.hostdb.ttl_mode`*
+:  `INT`
+:  `0`
+:  The host database time to live mode. You can specify one of the
+   following:
+
+   `0` = obey   
+   `1`= ignore  
+   `2` = min(X,ttl)  
+   `3` = max(X,ttl)
+
+*`proxy.config.hostdb.timeout`*
+:  `INT`
+:  `1440`
+:  The foreground timeout (in minutes).
+
+*`proxy.config.hostdb.strict_round_robin`*
+:  `INT`
+:  `0`
+:  When disabled (`0`), Traffic Server always uses the same origin
+   server for the same client, for as long as the origin server is
+   available.
+
+
+**Logging Config**
+
+*`proxy.config.log2.logging_enabled`*
+:  `INT`
+:  `3`
+:  Enables and disables event logging:
+
+   `0` = logging disabled  
+   `1` = log errors only  
+   `2` = log transactions only  
+   `3` = full logging (errors + transactions)
+
+   Refer to [Working with Log Files](log.htm).
+
+*`proxy.config.log2.max_secs_per_buffer`*
+:  `INT`
+:  `5`
+:  The maximum amount of time before data in the buffer is flushed to
+   disk.
+
+*`proxy.config.log2.max_space_mb_for_logs`*
+:  `INT`
+:  `2000`
+:  The amount of space allocated to the logging directory (in MB).
+
+*`proxy.config.log2.max_space_mb_for_orphan_logs`*
+:  `INT`
+:  `25`
+:  The amount of space allocated to the logging directory (in MB) if
+   this node is acting as a collation client.
+
+*`proxy.config.log2.max_space_mb_headroom`*
+:  `INT`
+:  `10`
+:  The tolerance for the log space limit (in bytes).
+
+   If the variable *`proxy.config.log2.auto_delete_rolled_file`*
+   is set to `1` (enabled), then autodeletion of log files is
+   triggered when the amount of free space available in the logging
+   directory is less than the value specified here.
+
+*`proxy.config.log2.hostname`*
+:  `STRING`
+:  `localhost`
+:  The hostname of the machine running Traffic Server.
+
+*`proxy.config.log2.logfile_dir`*
+:  `STRING`
+:  `install_dir  /logs`
+:  The full path to the logging directory.
+
+*`proxy.config.log2.logfile_perm`*
+:  `STRING`
+:  `rw-r--r--`
+:  The log file permissions. The standard UNIX file permissions are
+   used (owner, group, other). Permissable values are:
+
+   `-`no permission  
+   `r`read permission  
+   `w`write permission  
+   `x`execute permission
+
+   Permissions are subject to the umask settings for the Traffic
+   Server process. This means that a umask setting of`002`will not
+   allow write permission for others, even if specified in the
+   configuration file. Permissions for existing log files are not
+   changed when the configuration is changed.
+
+*`proxy.config.log2.custom_logs_enabled`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) custom logging.
+
+*`proxy.config.log2.xml_logs_config`*
+:  `INT`
+:  `1`
+:  Enables (`1`) or disables (`0`) extended custom logging using an
+   XML-based configuration file.  
+   A value of `0` instructs Traffic Server to use the traditional
+   custom log formats.
+
+   **Note:** Although Traffic Server supports traditional custom
+   logging, you should use the more versatile XML-based custom
+   formats.
+
+*`proxy.config.log2.squid_log_enabled`*
+:  `INT`
+:  `1`
+:  Enables (`1`) or disables (`0`) the squid log file format.
+
+*`proxy.config.log2.squid_log_is_ascii`*
+:  `INT`
+:  `1`
+:  The squid log file type:
+
+   `1` = ASCII  
+   `0` = binary
+
+*`proxy.config.log2.squid_log_name`*
+:  `STRING`
+:  `squid`
+:  The squid log filename.
+
+*`proxy.config.log2.squid_log_header`*
+:  `STRING`
+:  `NULL`
+:  The squid log file header text.
+
+*`proxy.config.log2.common_log_enabled`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) the Netscape common log file
+   format.
+
+*`proxy.config.log2.common_log_is_ascii`*
+:  `INT`
+:  `1`
+:  The Netscape common log file type:
+
+   `1` = ASCII   
+   `0` = binary
+
+*`proxy.config.log2.common_log_name`*
+:  `STRING`
+:  `common`
+:  The Netscape common log filename.
+
+*`proxy.config.log2.common_log_header`*
+:  `STRING`
+:  `NULL`
+:  The Netscape common log file header text.
+
+*`proxy.config.log2.extended_log_enabled`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) the Netscape extended log file
+   format.
+
+*`proxy.confg.log2.extended_log_is_ascii`*
+:  `INT`
+:  `1`
+:  The Netscape extended log file type:
+
+   `1` = ASCII   
+   `0` = binary
+
+*`proxy.config.log2.extended_log_name`*
+:  `STRING`
+:  `extended`
+:  The Netscape extended log filename.
+
+*`proxy.config.log2.extended_log_header`*
+:  `STRING`
+:  `NULL`
+:  The Netscape extended log file header text.
+
+*`proxy.config.log2.extended2_log_enabled`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) the Netscape Extended-2 log file
+   format.
+
+*`proxy.config.log2.extended2_log_is_ascii`*
+:  `INT`
+:  `1`
+:  The Netscape Extended-2 log file type:
+
+   `1` = ASCII   
+   `0` = binary
+
+*`proxy.config.log2.extended2_log_name`*
+:  `STRING`
+:  `extended2`
+:  The Netscape Extended-2 log filename.
+
+*`proxy.config.log2.extended2_log_header`*
+:  `STRING`
+:  `NULL`
+:  The Netscape Extended-2 log file header text.
+
+*`proxy.config.log2.separate_icp_logs`*
+:  `INT`
+:  `0`
+:  When enabled (`1`), configures Traffic Server to store ICP
+   transactions in a separate log file.
+
+*`proxy.config.log2.separate_host_logs`*
+:  `INT`
+:  `0`
+:  When enabled (`1`), configures Traffic Server to create a separate
+   log file for HTTP transactions for each origin server listed in the
+   `log_hosts.config` file.
+
+   Refer to [HTTP Host Log Splitting](log.html#HTTPHostLogSplitting).
+
+*`proxy.local.log2.collation_mode`*
+:  `INT`
+:  `0`
+:  The log collation mode:
+
+   `0` = collation is disabled  
+   `1` = this host is a log collation server  
+   `2` = this host is a collation client and sends entries using
+   standard formats to the collation server  
+   `3` = this host is a collation client and sends entries using the
+   traditional custom formats to the collation server  
+   `4` = this host is a collation client and sends entries that use
+   both the standard and traditional custom formats to the collation
+   server
+
+   For information on sending XML-based custom formats to the
+   collation server, refer to
+   [logs\_xml.config](files.htm#logs_xml.config).
+
+   **Note:** Although Traffic Server supports traditional custom
+   logging, you should use the more versatile XML-based custom
+   formats.
+
+*`proxy.confg.log2.collation_host`*
+:  `STRING`
+:  `NULL`
+:  The hostname of the log collation server.
+
+*`proxy.config.log2.collation_port`*
+:  `INT`
+:  `8085`
+:  The port used for communication between the collation server and
+   client.
+
+*`proxy.config.log2.collation_secret`*
+:  `STRING`
+:  `foobar`
+:  The password used to validate logging data and prevent the exchange
+   of unauthorized information when a collation server is being used.
+
+*`proxy.config.log2.collation_host_tagged`*
+:  `INT`
+:  `0`
+:  When enabled (`1`), configures Traffic Server to include the
+   hostname of the collation client that generated the log entry in
+   each entry.
+
+*`proxy.config.log2.collation_retry_sec`*
+:  `INT`
+:  `5`
+:  The number of seconds between collation server connection retries.
+
+*`proxy.config.log2.rolling_enabled`*
+:  `INT`
+:  `1`
+:  Specifies how log files are rolled. You can specify the following
+   values:
+
+   `0` = disables log file rolling
+
+   `1` = enables log file rolling at specific intervals during the day
+   (specified with the *`proxy.config.log2.rolling_interval_sec`*
+   and *`proxy.config.log2.rolling_offset_hr`* variables)
+
+   `2` = enables log file rolling when log files reach a specific size
+   (specified with the *`proxy.config.log2.rolling_size_mb`*
+   variable)
+
+   `3` = enables log file rolling at specific intervals during the day
+   or when log files reach a specific size (whichever occurs first)
+
+   `4` = enables log file rolling at specific intervals during the day
+   when log files reach a specific size (i.e., at a specified time if
+   the file is of the specified size)
+
+*`proxy.config.log2.rolling_interval_sec`*
+:  `INT`
+:  `86400`
+:  The log file rolling interval, in seconds. The minimum value is
+   `300` (5 minutes). The maximum value is 86400 seconds (one day).
+
+*`proxy.config.log2.rolling_offset_hr`*
+:  `INT`
+:  `0`
+:  The file rolling offset hour. The hour of the day that starts the
+   log rolling period.
+
+*`proxy.config.log2.rolling_size_mb`*
+:  `INT`
+:  `10`
+:  The size that log files must reach before rolling takes place.
+
+*`proxy.config.log2.auto_delete_rolled_files`*
+:  `INT`
+:  `1`
+:  Enables (`1`) or disables (`0`) automatic deletion of rolled
+   files.
+
+*`proxy.config.log2.sampling_frequency`*
+:  `INT`
+:  `1`
+:  Configures Traffic Server to log only a sample of transactions
+   rather than every transaction. You can specify the following
+   values:
+
+   `1` = log every transaction  
+   `2` = log every second transaction  
+   `3` = log every third transaction  
+   and so on...
+
+
+*`proxy.config.http.slow.log.threshold`*
+:  `INT`
+:  `0`
+:  The number of milliseconds before a slow connection's debugging
+   stats are dumped.  
+   Specify `1` to enable or `0` to disable.
+
+
+**Reverse Proxy**
+
+*`proxy.config.reverse_proxy.enabled`*
+:  `INT`
+:  `1`
+:  Enables (`1`) or disables (`0`) HTTP reverse proxy.
+
+*`proxy.config.header.parse.no_host_url_redirect`*
+:  `STRING`
+:  `NULL`
+:  The URL to which to redirect requests with no host headers (reverse
+   proxy).
+
+
+**URL Remap Rules**
+
+*`proxy.config.url_remap.default_to_server_pac`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) requests for a PAC file on the
+   proxy service port (8080 by default) to be redirected to the PAC
+   port.
+
+   For this type of redirection to work, the variable
+   *`proxy.config.reverse_proxy.enabled`* must be set to `1`.
+
+*`proxy.config.url_remap.default_to_server_pac_port`*
+:  `INT`
+:  `-1`
+:  Sets the PAC port so that PAC requests made to the Traffic Server
+   proxy service port are redirected this port.
+
+   `-1` is the default setting that sets the PAC port to the
+   autoconfiguration port (the default autoconfiguration port is
+   8083).
+
+   This variable can be used together with the
+   *`proxy.config.url_remap.default_to_server_pac`* variable to
+   get a PAC file from a different port. You must create and run a
+   process that serves a PAC file on this port.
+
+   For example: if you create a Perl script that listens on port 9000
+   and writes a PAC file in response to any request, then you can set
+   this variable to `9000`. Browsers that request the PAC file from a
+   proxy server on port 8080 will get the PAC file served by the Perl
+   script.
+
+*`proxy.config.url_remap.remap_required`*
+:  `INT`
+:  `1`
+:  Set this variable to `1` if you want Traffic Server to serve
+   requests only from origin servers listed in the mapping rules of
+   the `remap.config` file. If a request does not match, then the
+   browser will receive an error.
+
+*`proxy.config.url_remap.pristine_host_hdr`*
+:  `INT`
+:  `0`
+:  Set this variable to `1` if you want to retain the client host
+   header in a request during remapping.
+
+
+**SSL Termination**
+
+*`proxy.config.ssl.accelerator_required`*
+:  `INT`
+:  `0`
+:  Indicates if an accelerator card is required for operation. Traffic
+   Server supports Cavium accelerator cards.
+
+   You can specify:  
+   `0` - not required  
+   `1` - accelerator card is required and Traffic Server will not
+   enable SSL unless an accelerator card is present.  
+   `2` - accelerator card is required and Traffic Server will not
+   start unless an accelerator card is present.
+
+   You can verify operation by
+   running`/home/y/bin/openssl_accelerated`   
+   (this comes as part of `openssl_engines_init`).
+
+*`proxy.config.ssl.enabled`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) the
+   [SSL Termination](secure.htm#UsingSSLTermination) option.
+
+*`proxy.config.ssl.SSLv2`*
+:  `INT`
+:  `1`
+:  Enables (`1`) or disables (`0`) SSLv2.
+
+*`proxy.config.ssl.SSLv3`*
+:  `INT`
+:  `1`
+:  Enables (`1`) or disables (`0`) SSLv3.
+
+*`proxy.config.ssl.TLSv1`*
+:  `INT`
+:  `1`
+:  Enables (`1`) or disables (`0`) TLSv1.
+
+*`proxy.confg.ssl.accelerator.type`*
+:  `INT`
+:  `0`
+:  Specifies if the Cavium SSL accelerator card is installed on (and
+   required by) your Traffic Server machine:
+
+   `0` = none (no SSL accelerator card is installed on the Traffic
+   Server machine, so the Traffic Server's CPU determines the number
+   of requests served per second)
+
+   `1` = accelerator card is present and required by Traffic Server
+
+*`proxy.config.ssl.server_port`*
+:  `INT`
+:  `443`
+:  The port used for SSL communication.
+
+*`proxy.config.ssl.client.certification_level`*
+:  `INT`
+:  `0`
+:  Sets the client certification level:
+
+   `0` = no client certificates are required. Traffic Server does not
+   verify client certificates during the SSL handshake. Access to
+   Traffic Server depends on Traffic Server configuration options
+   (such as access control lists).
+
+   `1` = client certificates are optional. If a client has a
+   certificate, then the certificate is validated. If the client does
+   not have a certificate, then the client is still allowed access to
+   Traffic Server unless access is denied through other Traffic Server
+   configuration options.
+
+   `2` = client certificates are required. The client must be
+   authenticated during the SSL handshake. Clients without a
+   certificate are not allowed to access Traffic Server.
+
+*`proxy.config.ssl.server.cert.filename`*
+:  `STRING`
+:  `server.pem`
+:  The filename of the Traffic Server SSL certificate (the server
+   certificate).
+
+*`proxy.config.ssl.server.cert_chain.filename`*
+:  `STRING`
+:  `NULL`
+:  The file, in a chain of certificates, that is the root certificate
+   recognized by your website.
+
+*`proxy.config.ssl.server.cert.path`*
+:  `STRING`
+:  `/config`
+:  The location of the Traffic Server SSL certificate (the server
+   certificate).
+
+*`proxy.config.ssl.server.private_key.filename`*
+:  `STRING`
+:  `NULL`
+:  The filename of the Traffic Server private key.
+
+   Change this variable only if the private key is not located in the
+   Traffic Server SSL certificate file.
+
+*`proxy.config.ssl.server.private_key.path`*
+:  `STRING`
+:  `NULL`
+:  The location of the Traffic Server private key.
+
+   Change this variable only if the private key is not located in the
+   SSL certificate file.
+
+*`proxy.config.ssl.CA.cert.filename`*
+:  `STRING`
+:  `NULL`
+:  The filename of the certificate authority that client certificates
+   will be verified against.
+
+*`proxy.config.ssl.CA.cert.path`*
+:  `STRING`
+:  `NULL`
+:  The location of the certificate authority file that client
+   certificates will be verified against.
+
+
+**Client-Related Configuration**
+
+*`proxy.config.ssl.client.verify.server`*
+:  `INT`
+:  `0`
+:  Configures Traffic Server to verify the origin server certificate
+   with the Certificate Authority (CA).
+
+*`proxy.config.ssl.client.cert.filename`*
+:  `STRING`
+:  `NULL`
+:  The filename of SSL client certificate installed on Traffic
+   Server.
+
+*`proxy.config.ssl.client.cert.path`*
+:  `STRING`
+:  `/config`
+:  The location of the SSL client certificate installed on Traffic
+   Server.
+
+*`proxy.config.ssl.client.private_key.filename`*
+:  `STRING`
+:  `NULL`
+:  The filename of the Traffic Server private key.
+
+   Change this variable only if the private key is not located in the
+   Traffic Server SSL client certificate file.
+
+*`proxy.config.ssl.client.private_key.path`*
+:  `STRING`
+:  `NULL`
+:  The location of the Traffic Server private key.
+
+   Change this variable only if the private key is not located in the
+   SSL client certificate file.
+
+*`proxy.config.ssl.client.CA.cert.filename`*
+:  `STRING`
+:  `NULL`
+:  The filename of the certificate authority against which the origin
+   server will be verified.
+
+*`proxy.config.ssl.client.CA.cert.path`*
+:  `STRING`
+:  `NULL`
+:  Specifies the location of the certificate authority file against
+   which the origin server will be verified.
+
+
+**ICP Configuration**
+
+*`proxy.config.icp.enabled`*
+:  `INT`
+:  `0`
+:  Sets ICP mode for hierarchical caching:
+
+   `0` = disables ICP  
+   `1` = allows Traffic Server to receive ICP queries only  
+   `2` = allows Traffic Server to send and receive ICP queries
+
+   Refer to [ICP Peering](hier.html#ICPPeering).
+
+*`proxy.config.icp.icp_interface`*
+:  `STRING`
+:  *`your_interface`*
+:  Specifies the network interface used for ICP traffic.
+
+   **Note:** The Traffic Server installation script detects your
+   network interface and sets this variable appropriately. If your
+   system has multiple network interfaces, check that this variable
+   specifies the correct interface.
+
+*`proxy.config.icp.icp_port`*
+:  `INT`
+:  `3130`
+:  Specifies the UDP port that you want to use for ICP messages.
+
+*`proxy.config.icp.query_timeout`*
+:  `INT`
+:  `2`
+:  Specifies the timeout used for ICP queries.
+
+
+**Scheduled Update Configuration**
+
+*`proxy.config.update.enabled`*
+   `INT`
+   `0`
+   Enables (`1`) or disables (`0`) the Scheduled Update option.
+
+*`proxy.config.update.force`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) a force immediate update. When
+   enabled, Traffic Server overrides the scheduling expiration time
+   for all scheduled update entries and initiates updates until this
+   option is disabled.
+
+*`proxy.config.update.retry_count`*
+:  `INT`
+:  `10`
+:  Specifies the number of times Traffic Server can retry the
+   scheduled update of a URL in the event of failure.
+
+*`proxy.config.update.retry_interval`*
+:  `INT`
+:  `2`
+:  Specifies the delay (in seconds) between each scheduled update
+   retry for a URL in the event of failure.
+
+*`proxy.config.update.concurrent_updates`*
+:  `INT`
+:  `100`
+:  Specifies the maximum simultaneous update requests allowed at any
+   time. This option prevents the scheduled update process from
+   overburdening the host.
+
+
+**Remap Plugin Processor**
+
+*`proxy.config.remap.use_remap_processor`*
+:  `INT`
+:  `0`
+:  Enables (`1`) or disables (`0`) the ability to run separate threads
+   for remap plugin processing.
+
+*`proxy.config.remap.num_remap_threads`*
+:  `INT`
+:  `1`
+:  Specifies the number of threads that will be used for remap plugin
+   processing.
+
+
+**Plug-in Configuration**
+
+*`proxy.config.plugin.plugin_dir`*
+:  `STRING`
+:  `config/plugins`
+:  Specifies the location of Traffic Server plugins.
+
+
+**Sockets**
+
+*`proxy.config.net.sock_send_buffer_size_in`*
+:  `INT`
+:  `0`
+:  Sets the send buffer size for connections from the client to
+   Traffic Server.
+
+*`proxy.config.net.sock_recv_buffer_size_in`*
+:  `INT`
+:  `0`
+:  Sets the receive buffer size for connections from the client to
+   Traffic Server.
+
+*`proxy.config.net.sock_option_flag_in`*
+:  `INT`
+:  `0`
+:  Turns different options "on" for the socket handling client
+   connections:
+
+       TCP_NODELAY (1)
+       SO_KEEPALIVE (2)
+
+   **Note:** This is a flag and you look at the bits set. Therefore,
+   you must set the value to `3` if you want to enable both options
+   above.
+
+*`proxy.config.net.sock_send_buffer_size_out`*
+:  `INT`
+:  `0`
+:  Sets the send buffer size for connections from Traffic Server to
+   the origin server.
+
+*`proxy.config.net.sock_recv_buffer_size_out`*
+:  `INT`
+:  `0`
+:  Sets the receive buffer size for connections from Traffic Server to
+   the origin server.
+
+*`proxy.config.net.sock_option_flag_out`*
+:  `INT`
+:  `0`
+:  Turns different options "on" for the origin server socket:
+
+       TCP_NODELAY (1)
+       SO_KEEPALIVE (2)
+
+   **Note:** This is a flag and you look at the bits set. Therefore,
+   you must set the value to `3`if you want to enable both options
+   above.
+
+*`proxy.config.net.sock_mss_in`*
+:  `INT`
+:  `0`
+:  Same as the command line option `--accept_mss` that sets the MSS
+   for all incoming requests.
+
+
+
+## remap.config ## {#remap.config}
+
+The `remap.config` file contains mapping rules that Traffic Server
+uses to perform the following actions:
+
+-   Map URL requests for a specific origin server to the
+    appropriate location on Traffic Server when Traffic Server acts as
+    a reverse proxy for that particular origin server
+-   Reverse-map server location headers so that when origin servers
+    respond to a request with a location header that redirects the
+    client to another location, the clients do not bypass Traffic
+    Server
+-   Redirect HTTP requests permanently or temporarily without
+    Traffic Server having to contact any origin servers
+
+Refer to [Reverse Proxy and HTTP Redirects](reverse.htm), for
+information about redirecting HTTP requests and using reverse
+proxy.
+
+**IMPORTANT:**After you modify the `remap.config` file, navigate to
+the Traffic Server`bin` directory; then run the `traffic_line -x`
+command to apply the changes. When you apply the changes to one
+node in a cluster, Traffic Server automatically applies the changes
+to all other nodes in the cluster.
+
+### Format
+
+Each line in the `remap.config` file must contain a mapping rule.
+Traffic Server recognizes three space-delimited fields: `type`,
+`target`, and `replacement`. The following table describes the
+format of each field.
+
+Field
+
+Description
+
+`type`
+
+Enter one of the following:
+
+`map` --translates an incoming request URL to the appropriate
+origin server URL.
+
+`reverse_map` --translates the URL in origin server redirect
+responses to point to the Traffic Server.
+
+`redirect` --redirects HTTP requests permanently without having to
+contact the origin server. Permanent redirects notify the browser
+of the URL change (by returning an HTTP status code 301) so that
+the browser can update bookmarks.
+
+`redirect_temporary` --redirects HTTP requests temporarily without
+having to contact the origin server. Temporary redirects notify the
+browser of the URL change for the current request only (by
+returning an HTTP status code 307).
+
+**Note:** use the `regex_` prefix to indicate that the line has a
+regular expression (regex).
+
+`target`
+
+Enter the origin ("from") URL. You can enter up to four
+components:
+
+`scheme`
+`://<em> host</em>  : <em>port</em>  / <em> path_prefix`*
+
+where *`scheme`* is `http`.
+
+`replacement`
+
+Enter the destination ("to") ** URL. You can enter up to four
+components:
+
+*`scheme://host:port/path_prefix`*
+
+where *`scheme `* can be `http` or `https`.
+
+### Examples
+
+The following section shows example mapping rules in the
+`remap.config` file.
+
+#### Reverse Proxy Mapping Rules
+
+The following example shows a map rule that does not specify a path
+prefix in the target or replacement:   
+`map http://www.x.com/ http://server.hoster.com/`
+
+This rule results in the following translations:
+
+Client Request
+
+Translated Request
+
+`http://www.x.com/Widgets/index.html`
+
+`http://server.hoster.com/Widgets/index.html`
+
+`http://www.x.com/cgi/form/submit.sh?arg=true`
+
+`http://server.hoster.com/cgi/form/submit.sh?arg=true`
+
+The following example shows a map rule with path prefixes specified
+in the target:
+
+`map http://www.intranet.y.com/marketing http://marketing.y.com/  <br />``map http://intranet.y.com/sales http://sales.y.com/  <br />``map http://intranet.y.com/engineering http://engineering.y.com/  <br />``map http://intranet.y.com/ http://info.y.com/`
+
+These rules result in the following translations:
+
+Client Request
+
+Translated Request
+
+`http://www.y.com/marketing/projects/manhattan/specs.html`
+
+`http://marketing.y.com/projects/manhattan/specs.html`
+
+`http://www.y.com/stuff/marketing/projects/boston/specs.html`
+
+`http://info.y.com/marketing/projects/boston/specs.html`
+
+`http://www.y.com/engineering/marketing/requirements.html`
+
+`http://engineering.y.com/marketing/requirements.html`
+
+The following example shows that the order of the rules matters:   
+`map http://www.g.com/ http://external.g.com/  <br />``map http://www.g.com/stuff http://stuff.g.com`
+
+These rules result in the following translation.
+
+Client Request
+
+Translated Request
+
+`http://www.g.com/stuff/a.gif`
+
+`http://external.g.com/stuff/a.gif`
+
+In the above examples, the second rule is never applied because all
+URLs that match the second rule also match the first rule. The
+first rule takes precedence because it appears earlier in the
+`remap.config` file.
+
+The following example shows a mapping with a path prefix specified
+in the target and replacement:   
+`map http://www.h.com/a/b http://server.h.com/customers/x/y`
+
+This rule results in the following translation.
+
+Client Request
+
+Translated Request
+
+`http://www.h.com/a/b/c/d/doc.html`
+
+`http://server.h.com/customers/x/y/c/d/doc.html`
+
+`http://www.h.com/a/index.html`
+
+`Translation fails`
+
+The following example shows reverse-map rules:   
+`map http://www.x.com/ http://server.hoster.com/x/  <br />``reverse_map http://server.hoster.com/x/ http://www.x.com/`
+
+These rules result in the following translations.
+
+Client Request
+
+Translated Request
+
+`http://www.x.com/Widgets`
+
+`http://server.hoster.com/x/Widgets`
+
+ 
+
+Client Request
+
+Origin server Header
+
+Translated Header
+
+`http://www.x.com/Widgets`
+
+`http://server.hoster.com/x/Widgets/`
+
+`http://www.x.com/Widgets/`
+
+When acting as a reverse proxy for multiple servers, Traffic Server
+is unable to route to URLs from older browsers that do not send the
+`Host:` header. As a solution, set the variable
+*`proxy.config.header.parse.no_host_url_redirect`* in the
+`records.config` file to the URL to which Traffic Server will
+redirect requests without host headers.
+
+#### Redirect Mapping Rules
+
+The following rule permanently redirects all HTTP requests for
+`www.company.com` to `www.company2.com`:   
+`redirect http://www.company.com http://www.company2.com`
+
+The following rule *temporarily* redirects all HTTP requests for
+`www.company1.com` to `www.company2.com`:   
+`redirect_temporary http://www.company1.com http://www.company2.com`
+
+#### Regular Expression (regex) Remap Support
+
+Regular expressions can be specified in remapping rules, with the
+limitations below:
+
+-   Only the `host` field can contain a regex; the `scheme`,
+    `port`, and other fields cannot. For path manipulation via regexes,
+    use the `regex_remap` plugin.
+-   The number of capturing subpatterns is limited to 9. This means
+    that `$0` thru `$9` can be used as subtraction placeholders (`$0`
+    will be the entire input string).
+-   The number of substitutions in the expansion string is limited
+    to 10.
+
+#### Examples
+
+`regex_map http://x ([0-9]+).z.com http://real-x$1.z.com`  
+`regex_redirect http://old.(.*).z.com http://new.$1.z.com`
+
+#### Plugin Chaining
+
+Plugins can be configured to be evaluated in a specific order,
+passing the results from one in to the next (unless a plugin
+returns 0, then the "chain" is broken).
+
+#### Examples
+
+`map http://url/path http://url/path @plugin=/etc/traffic_server/config/plugins/plugin1.so @pparam=1 @pparam=2 @plugin=/etc/traffic_server/config/plugins/plugin2.so @pparam=3`  
+will pass "1" and "2" to plugin1.so and "3" to plugin2.so.
+
+This will pass "1" and "2" to plugin1.so and "3" to plugin2.so
+## splitdns.config
+
+The `splitdns.config` file enables you to specify the DNS server
+that Traffic Server should use for resolving hosts under specific
+conditions. For more information, refer to
+[Configuring DNS Server Selection (Split DNS)](secure.htm).
+
+To specify a DNS server, you must supply the following information
+in each active line within the file:
+
+-   A primary destination specifier in the form of a destination
+    domain, a destination host, or a URL regular expression
+-   A set of server directives, listing one or more DNS servers
+    with corresponding port numbers
+
+You can also include the following optional information with each
+DNS server specification:
+
+-   A default domain for resolving hosts
+-   A search list specifying the domain search order when multiple
+    domains are specified
+
+**IMPORTANT:** After you modify the `splitdns.config` file, navigate
+to the Traffic Server`bin` directory and run the `traffic_line -x`
+command to apply the changes. When you apply changes to a node in a
+cluster, Traffic Server automatically applies the changes to all
+other nodes in the cluster.
+
+### Format
+
+Each line in the `splitdns.config` file uses one of the following
+formats:  
+`dest_domain=`*`dest_domain`* `|` *`dest_host`* `| url_regex named=`*`dns_server`* `def_domain=`*`def_domain`* `search_list=`*`search_list`*
+
+The following table describes each field.
+
+Field
+
+Allowed Value
+
+*`dest_domain`*
+
+A valid domain name. This specifies that DNS server selection will
+be based on the destination domain. You can prefix the domain with
+an exclamation mark (`!`) to indicate the NOT logical operator.
+
+*`dest_host`*
+
+A valid hostname. This specifies that DNS server selection will be
+based on the destination host. You can prefix the host with an
+exclamation mark (`!`) to indicate the `NOT` logical operator.
+
+*`url_regex`*
+
+A valid URL regular expression. This specifies that DNS server
+selection will be based on a regular expression.
+
+*`dns_server`*
+
+This is a required directive. It identifies the DNS server that
+Traffic Server should use with the given destination specifier. You
+can specify a port using a colon (`:`). If you do not specify a
+port, then 53 is used. Specify multiple DNS servers with spaces or
+semicolons (`;`) as separators.
+
+You must specify the domains with IP addresses in CIDR ("dot")
+notation.
+
+*`def_domain`*
+
+A valid domain name. This optional directive specifies the default
+domain name to use for resolving hosts. Only one entry is allowed.
+If you do not provide the default domain, the system determines its
+value from `/etc/resolv.conf`
+
+*`search_list`*
+
+A list of domains separated by spaces or semicolons (;). This
+specifies the domain search order. If you do not provide the search
+list, the system determines the value from `/etc/resolv.conf`
+
+### Examples
+
+Consider the following DNS server selection specifications:
+
+> `dest_domain=internal.company.com named=255.255.255.255:212 255.255.255.254 def_domain=company.com search_list=company.com company1.com <br />        <br />``dest_domain=!internal.company.com named=255.255.255.253`
+
+Now consider the following two requests:
+
+`http://minstar.internal.company.com <br />`This request matches
+the first line and therefore selects DNS server `255.255.255.255`
+on port `212`. All resolver requests use `company.com` as the
+default domain, and `company.com` and `company1.com` as the set of
+domains to search first.
+
+`http://www.microsoft.com`  
+This request matches the second line. Therefore, Traffic Server
+selects DNS server `255.255.255.253`. Because no `def_domain` or
+`search_list` was supplied, Traffic Server retrieves this
+information from `/etc/resolv.conf`
+
+## ssl\_multicert.config
+
+The `ssl_multicert.config` file lets you configure Traffic Server
+to use multiple SSL server certificates with the SSL termination
+option. If you have a Traffic Server system with more than one IP
+address assigned to it, then you can assign a different SSL
+certificate to be served when a client requests a particular IP
+address.
+
+### Format
+
+The format of the `ssl_multicert.config` file is:   
+`dest_ip=<em>ipaddress   </em> ssl_cert_name=<em>cert_name   </em> ssl_key_name=<em>key_name</em>`
+
+where *`ipaddress`* is an IP address assigned to Traffic
+Server , *`cert_name`* is the filename of the Traffic Server
+SSL server certificate, and *`key_name`* is the filename of
+the Traffic Server SSL private key. If the private key is located
+in the certificate file, then you do not need to specify the name
+of the private key.
+
+### Examples
+
+The following example configures Traffic Server to use the SSL
+certificate `server.pem` for all requests to the IP address
+111.11.11.1 and the SSL certificate `server1.pem` for all requests
+to the IP address 11.1.1.1. Since the private key *is* included in
+the certificate files, no private key name is specified.
+
+`dest_ip=111.11.11.1  ssl_cert_name=server.pem  <br />``dest_ip=11.1.1.1   ssl_cert_name=server1.pem`
+
+The following example configures Traffic Server to use the SSL
+certificate `server.pem` and the private key `serverKey.pem` for
+all requests to the IP address 111.11.11.1. Traffic Server uses the
+SSL certificate `server1.pem` and the private key `serverKey1.pem`
+for all requests to the IP address 11.1.1.1.
+
+`dest_ip=111.11.11.1 ssl_cert_name=server.pem ssl_key_name=serverKey.pem  <br />``dest_ip=11.1.1.1 ssl_cert_name=server1.pem ssl_key_name=serverKey1.pem`
+
+## storage.config
+
+The `storage.config` file lists all the files, directories, and/or
+hard disk partitions that make up the Traffic Server cache. After
+you modify the `storage.config` file, you must restart Traffic
+Server.
+
+### Format
+
+The format of the `storage.config` file is:   
+*`pathname size`*
+
+where *`pathname`* is the name of a partition, directory or
+file, and *`size`* is the size of the named partition,
+directory or file (in bytes). You must specify a size for
+directories or files; size is optional for raw partitions.
+
+You can use any partition of any size. For best performance:
+
+-   Use raw disk partitions.
+-   For each disk, make all partitions the same size.
+-   For each node, use the same number of partitions on all disks.
+
+Specify pathnames according to your operating system requirements.
+See the following examples. In the `storage.config` file, a
+formatted or raw disk must be at least 128 MB.
+
+### Examples
+
+The following basic example shows 64 MB of cache storage in the
+`/big_dir directory:  <br />``/big_dir 67108864`
+
+You can use the `.` symbol for the current directory. Here is an
+example for 64 MB of cache storage in the current directory:   
+`. 67108864`
+
+#### Solaris Example
+
+The following example is for the Solaris operating system:   
+`/devices/sbus@1f,0/SUNW,fas@e,880000/sd@2,0:a,raw  <br />``/devices/sbus@1f,0/SUNW,fas@e,880000/sd@2,0:b,raw`
+
+**Note:**Size is not required because the partitions are raw.
+
+#### Linux Example
+
+The following example is for the Linux operating system:   
+`/dev/raw_sdb 9105018880`
+
+## update.config
+
+The `update.config` file controls how Traffic Server performs a
+scheduled update of specific local cache content. The file contains
+a list of URLs specifying objects that you want to schedule for
+update.
+
+A scheduled update performs a local HTTP `GET` on the objects at
+the specific time or interval. You can control the following
+parameters for each specified object:
+
+-   The URL
+-   URL-specific request headers, which overrides the default
+-   The update time and interval
+-   The recursion depth
+
+**IMPORTANT:**After you modify the `update.config` file, navigate
+to the Traffic Server`bin` directory and run the `traffic_line -x`
+command to apply changes. When you apply changes to one node in a
+cluster, Traffic Server automatically applies the changes to all
+other nodes in the cluster.
+
+### Supported Tag/Attribute Pairs
+
+Scheduled update supports the following tag/attribute pairs when
+performing recursive URL updates:
+
+-   `<a href=" ">`
+-   `<img src=" ">`
+-   `<img href=" ">`
+-   `<body background=" ">`
+-   `<frame src=" ">`
+-   `<iframe src=" ">`
+-   `<fig src=" ">`
+-   `<overlay src=" ">`
+-   `<applet code=" ">`
+-   `<script src=" ">`
+-   `<embed src=" ">`
+-   `<bgsound src=" ">`
+-   `<area href=" ">`
+-   `<base href=" ">`
+-   `<meta content=" ">`
+
+Scheduled update is designed to operate on URL sets consisting of
+hundreds of input URLs (expanded to thousands when recursive URLs
+are included); it is *not* intended to operate on extremely large
+URL sets, such as those used by Internet crawlers.
+
+### Format
+
+Each line in the `update.config` file uses the following format:   
+*`URL</em>\<em>request_headers</em>\<em>offset_hour</em>\<em>interval</em>\<em>recursion_depth</em>\`
+
+The following table describes each field.
+
+Field
+
+Allowed Inputs
+
+*`URL`*
+
+HTTP-based URLs.
+
+*`request_headers`*
+
+Optional. A list of headers, separated by semicolons, passed in
+each `GET` request. You can define any request header that conforms
+to the HTTP specification; the default is no request header.
+
+*`offset_hour`*
+
+The base hour used to derive the update periods. The range is 00-23
+hours.
+
+*`interval`*
+
+The interval (in seconds) at which updates should occur, starting
+at the offset hour.
+
+*`recursion_depth`*
+
+The depth to which referenced URLs are recursively updated,
+starting at the given URL. This field applies only to HTTP.
+
+### Examples
+
+An example HTTP scheduled update is provided below:   
+`http://www.company.com\User-Agent: noname user agent\13\3600\5\`
+
+The example specifies the URL and request headers, an offset hour
+of 13 (1 pm), an interval of one hour, and a recursion depth of 5.
+This would result in updates at 13:00, 14:00, 15:00, and so on. To
+schedule an update that occurs only once a day, use an interval
+value 86400 (i.e., 24 hours x 60 minutes x 60 seconds = 86400).
+
+## Specifying URL Regular Expressions (`url_regex`)
+
+This section describes how to specify a `url_regex`. Entries of
+type `url_regex` within the configuration files use regular
+expressions to perform a match.
+
+The following table provides examples to show how to create a valid
+`url_regex`.
+
+Value
+
+Description
+
+`x`
+
+Matches the character`x`
+
+`.`
+
+Match any character
+
+`^`
+
+Specifies beginning of line
+
+`$`
+
+Specifies end of line
+
+`[xyz]`
+
+A **character class**. In this case, the pattern matches either
+`x`,`y`, or`z`
+
+`[abj-oZ]`
+
+A **character class**with a range. This pattern matches `a`,`b`,
+any letter from`j`thru`o`, or`Z`
+
+`[^A-Z]`
+
+A **negated character class**. For example, this pattern matches
+any character except those in the class.
+
+`r*`
+
+Zero or more`r`, where`r`is any regular expression.
+
+`r+`
+
+One or more`r`, where `r` is any regular expression.
+
+`r?`
+
+Zero or one`r`, where`r`is any regular expression.
+
+`r{2,5}`
+
+From two to five `r`, where`r`is any regular expression.
+
+`r{2,}`
+
+Two or more `r`, where`r`is any regular expression.
+
+`r{4}`
+
+Exactly four`r`, where`r`is any regular expression.
+
+`"[xyz]\"images"`
+
+The literal string`[xyz]"images"`
+
+`\X`
+
+If`X`is`a, b, f, n, r, t,`or`v,`then the `ANSI-C`interpretation of
+`\x`; otherwise, a literal`X`. This is used to escape operators
+such as`*`
+
+`\0`
+
+A`NULL`character
+
+`\123`
+
+The character with octal value`123`
+
+`\x2a`
+
+The character with hexadecimal value`2a`
+
+`(r)`
+
+Matches an`r`, where`r`is any regular expression. You can use
+parentheses to override precedence.
+
+`rs`
+
+The regular expression`r`, followed by the regular expression`s`
+
+`r|s`
+
+Either an `r`or an`s`
+
+`#<n>#`
+
+Inserts an**end node**, which causes regular expression matching to
+stop when reached. The value`n`is returned.
+
+You can specify`dest_domain=mydomain.com`to match any host
+in`mydomain.com`. Likewise, you can specify `dest_domain=.`to match
+any request.
+
+-   [Overview](intro.htm)
+-   [Getting Started](getstart.htm)
+-   [HTTP Proxy Caching](http.htm)
+-   [Explicit Proxy Caching](explicit.htm)
+-   [Reverse Proxy and HTTP Redirects](reverse.htm)
+-   [Hierarchical Caching](hier.htm)
+-   [Configuring the Cache](cache.htm)
+-   [Monitoring Traffic](monitor.htm)
+-   [Configuring Traffic Server](configure.htm)
+-   [Security Options](secure.htm)
+-   [Working with Log Files](log.htm)
+-   [Traffic Line Commands](cli.htm)
+-   [Event Logging Formats](logfmts.htm)
+-   [Configuration Files](files.htm)
+-   [Traffic Server Error Messages](errors.htm)
+-   [FAQ and Troubleshooting Tips](trouble.htm)
+
+Copyright © 2010
+[The Apache Software Foundation](http://www.apache.org/). Licensed
+under the [Apache License](http://www.apache.org/licenses/),
+Version 2.0. Apache Traffic Server, Apache, the Apache Traffic
+Server logo, and the Apache feather logo are trademarks of The
+Apache Software Foundation.
+
+