Author: igalic
Date: Tue May 3 00:35:01 2011
New Revision: 1098873
URL: http://svn.apache.org/viewvc?rev=1098873&view=rev
Log:
Reformatting HTTP Proxy Caching, throwing away the phrasing that treats the
reader
like a 8 year old ADHD patient. Moving some of the additional content out to
records.config
Someone needs to verify all these links I put in there.
Modified:
trafficserver/site/branches/ats-cms/content/docs/trunk/admin/configuration-files/records.config.en.mdtext
trafficserver/site/branches/ats-cms/content/docs/trunk/admin/http-proxy-caching/index.en.mdtext
Modified:
trafficserver/site/branches/ats-cms/content/docs/trunk/admin/configuration-files/records.config.en.mdtext
URL:
http://svn.apache.org/viewvc/trafficserver/site/branches/ats-cms/content/docs/trunk/admin/configuration-files/records.config.en.mdtext?rev=1098873&r1=1098872&r2=1098873&view=diff
==============================================================================
---
trafficserver/site/branches/ats-cms/content/docs/trunk/admin/configuration-files/records.config.en.mdtext
(original)
+++
trafficserver/site/branches/ats-cms/content/docs/trunk/admin/configuration-files/records.config.en.mdtext
Tue May 3 00:35:01 2011
@@ -980,19 +980,21 @@ the `records.config` file.
*`proxy.config.http.cache.heuristic_min_lifetime`*
{#proxy.config.http.cache.heuristic_min_lifetime}
: `INT`
-: Default: `3600`
-: The minimum amount of time a document in the cache is considered to
- be fresh.
+: Default: `3600` (1 hour)
+: The minimum amount of time an HTTP object without an expiration datecan
remain fresh in the cache
+ before is considered to be stale.
*`proxy.config.http.cache.heuristic_max_lifetime`*
{#proxy.config.http.cache.heuristic_max_lifetime}
: `INT`
-: Default: `86400`
+: Default: `86400` (1 day)
: The maximum amount of time a document in the cache remains fresh.
*`proxy.config.http.cache.heuristic_lm_factor`*
{#proxy.config.http.cache.heuristic_lm_factor}
: `FLOAT`
: Default: `0.10000`
: The aging factor for freshness computations.
+ Traffic Server stores an object for this percentage of the time that
elapsed since it last changed.
+
*`proxy.config.http.cache.fuzz.time`* {#proxy.config.http.cache.fuzz.time}
: `INT`
Modified:
trafficserver/site/branches/ats-cms/content/docs/trunk/admin/http-proxy-caching/index.en.mdtext
URL:
http://svn.apache.org/viewvc/trafficserver/site/branches/ats-cms/content/docs/trunk/admin/http-proxy-caching/index.en.mdtext?rev=1098873&r1=1098872&r2=1098873&view=diff
==============================================================================
---
trafficserver/site/branches/ats-cms/content/docs/trunk/admin/http-proxy-caching/index.en.mdtext
(original)
+++
trafficserver/site/branches/ats-cms/content/docs/trunk/admin/http-proxy-caching/index.en.mdtext
Tue May 3 00:35:01 2011
@@ -39,7 +39,7 @@ This chapter discusses the following top
## Understanding HTTP Web Proxy Caching ## {#UnderstandingHTTPWebProxyCaching}
Internet users direct their requests to web servers all over the Internet.
-A caching server must act as a **web proxy server **so it can serve those
requests.
+A caching server must act as a **web proxy server** so it can serve those
requests.
After a web proxy server receives requests for web objects, it either serves
the requests or forwards them to the **origin server** (the web server that
contains the original copy of the requested information). The Traffic Server
@@ -47,30 +47,30 @@ proxy supports **explicit proxy caching*
must be configured to send requests directly to the Traffic Server proxy. The
following overview illustrates how Traffic Server serves a user request.
-**Step 1** Traffic Server receives a user request for a web object.
+1. Traffic Server receives a user request for a web object.
-**Step 2** Using the object address, Traffic Server tries to locate the
requested
+1. Using the object address, Traffic Server tries to locate the requested
object in its object database (**cache**).
-**Step 3** If the object is in the cache, then Traffic Server checks to see
+1. If the object is in the cache, then Traffic Server checks to see
if the object is fresh enough to serve. If it is fresh, then Traffic Server
serves it to the user as a **cache hit** (see the figure below).
-
+ 
-**Step 4** If the data in the cache is stale, then Traffic Server connects
+1. If the data in the cache is stale, then Traffic Server connects
to the origin server and checks if the object is still fresh (a
**revalidation**).
If it is, then Traffic Server immediately sends the cached copy to the user.
-**Step 5** If the object is not in the cache (a **cache miss**) or if the
server
+1. If the object is not in the cache (a **cache miss**) or if the server
indicates the cached copy is no longer valid, then Traffic Server obtains the
object from the origin server. The object is then simultaneously streamed to
the user and the Traffic Server local cache (see the figure below). Subsequent
requests for the object can be served faster because the object is retrieved
directly from cache.
-
+ 
Caching is typically more complex than the preceding overview suggests. In
@@ -94,19 +94,44 @@ origin server to see if an object is sti
Traffic Server determines whether an HTTP object in the cache is fresh by:
-* **Checking the `Expires` or **`**max**`**`-age` header**
- Some HTTP objects contain `Expires` headers or `max-age` headers that
explicitly define how long the object can be cached. Traffic Server compares
the current time with the expiration time to determine if the object is still
fresh.
-* **Checking the `Last-Modified / Date` header**
- If an HTTP object has no `Expires` header or `max-age` header, then Traffic
Server can calculate a freshness limit using the following formula:
-`freshness_limit =(_date - last_modified_) * 0.10`
- where` _date_` is the date in the objectâs server response header and
`_last_modified _` is the date in the `Last-Modified` header. If there is no
`Last-Modified` header, then Traffic Server uses the date the object was
written to cache. The value `0.10` (10 percent) can be increased or reduced to
better suit your needs (refer to [Modifying the Aging Factor for Freshness
Computations](#ModifyingAgingFactorFreshnessComputations)).
- The computed freshness limit is bound by a minimum and maximum value - refer
to [Setting an Absolute Freshness Limit](#SettingAbsoluteFreshnessLimit) for
more information.
-* **Checking the absolute freshness limit **
- For HTTP objects that do not have `Expires` headers or do not have both
`Last-Modified` and `Date` headers, Traffic Server uses a maximum and minimum
freshness limit (efer to [Setting an Absolute Freshness
Limit](#SettingAbsoluteFreshnessLimit)).
-* **Checking revalidate rules in the `cache.config` file**
- Revalidate rules apply freshness limits to specific HTTP objects. You can set
freshness limits for objects originating from particular domains or IP
addresses, objects with URLs that contain specified regular expressions,
objects requested by particular clients, and so on (refer to
[cache.config](files.htm#cache.config)).
+* **Checking the `Expires` or `max-age` header**
-### Modifying the Aging Factor for Freshness Computations ###
{#ModifyingAgingFactorforFreshnessComputations}
+ Some HTTP objects contain `Expires` headers or `max-age` headers that
+ explicitly define how long the object can be cached. Traffic Server
+ compares the current time with the expiration time to determine if the
+ object is still fresh.
+
+* **Checking the `Last-Modified` / `Date` header**
+
+ If an HTTP object has no `Expires` header or `max-age` header, then
+ Traffic Server can calculate a freshness limit using the following
formula:
+
+ freshness_limit = ( date - last_modified ) * 0.10
+
+ where _`date`_ is the date in the object's server response header and
_`last_modified`_
+ is the date in the `Last-Modified` header. If there is no `Last-Modified`
header, then
+ Traffic Server uses the date the object was written to cache. The value
`0.10`
+ (10 percent) can be increased or reduced to better suit your needs (refer
to
+ [Modifying the Aging Factor for Freshness
Computations](#ModifyingAgingFactorFreshnessComputations)).
+
+ The computed freshness limit is bound by a minimum and maximum value -
refer to
+ [Setting an Absolute Freshness Limit](#SettingAbsoluteFreshnessLimit) for
more information.
+
+* **Checking the absolute freshness limit**
+
+ For HTTP objects that do not have `Expires` headers or do not have both
`Last-Modified`
+ and `Date` headers, Traffic Server uses a maximum and minimum freshness
limit
+ (refer to [Setting an Absolute Freshness
Limit](#SettingAbsoluteFreshnessLimit)).
+
+* **Checking revalidate rules in the `cache.config` file**
+
+ Revalidate rules apply freshness limits to specific HTTP objects. You can
set freshness
+ limits for objects originating from particular domains or IP addresses,
objects with URLs
+ that contain specified regular expressions, objects requested by
particular clients,
+ and so on (refer to [cache.config](files.htm#cache.config)).
+
+
+### Modifying the Aging Factor for Freshness Computations ###
{#ModifyingAgingFactorFreshnessComputations}
If an object does not contain any expiration information, then Traffic Server
can estimate its freshness from the `Last-Modified` and `Date` headers. By
@@ -114,23 +139,11 @@ default, Traffic Server stores an object
it last changed. You can increase or reduce the percentage according to your
needs.
-##### To modify the aging factor for freshness computations: #####
{#modifyagingfactorforfreshnesscomputations}
-
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.http.cache.heuristic_lm_factor_`
-:
-
- Set this variable to specify the aging factor for freshness
computations. Traffic Server stores an object for this percentage of the time
that elapsed since it last changed.
- The default value is 0.10 (10 percent).
-
-
+##### To modify the aging factor for freshness computations: #####
{#modifyagingfactorfreshnesscomputations}
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
-
-6. Run the `traffic_line -x` command to apply the configuration changes.
+1. In [`records.config`](../configuration-files/records.config)
+2. edit
[_`proxy.config.http.cache.heuristic_lm_factor`_](../configuration-files/records.config#proxy.config.http.cache.heuristic_lm_factor)
+3. Run the `traffic_line -x` command to apply the configuration changes.
### Setting an Absolute Freshness Limit ### {#SettinganAbsoluteFreshnessLimit}
@@ -140,22 +153,10 @@ in the cache, specify an **absolute fres
##### To specify an absolute freshness limit: #####
{#specifyanabsolutefreshnesslimit}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variables:
-3. **Variable** **Description**
-_`proxy.config.http.cache.heuristic_min_lifetime`_
-: Set this variable to specify the minimum amount of time that HTTP objects
without
- an expiration date can remain fresh in the cache before being
considered stale.
- The default value is 3600 seconds (1 hour).
-_`proxy.config.http.cache.heuristic_max_lifetime`_
-: Set this variable to specify the maximum amount of time that HTTP objects
without
- an expiration date can remain fresh in the cache before being
considered stale.
- The default value is 86400 seconds (1 day).
-
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
-
-6. Run the command `traffic_line -x` to apply the configuration changes.
+1. In [`records.config`](../configuration-files/records.config)
+2. edit
[_`proxy.config.http.cache.heuristic_min_lifetime`_](../configuration-files/records.config#proxy.config.http.cache.heuristic_min_lifetime)
+2. edit
[_`proxy.config.http.cache.heuristic_max_lifetime`_](../configuration-files/records.config#proxy.config.http.cache.heuristic_max_lifetime)
+3. Run the `traffic_line -x` command to apply the configuration changes.
### Specifying Header Requirements ### {#SpecifyingHeaderRequirements}
@@ -170,22 +171,9 @@ have explicit expiration information).
##### To configure Traffic Server to cache objects with specific headers:
##### {#configureTScacheobjectswithspecificheaders}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.http.cache.required_headers_`
-:
-
- Set this variable to one of the following values:
- Â Â `0` = no headers required to make document cacheable
- Â Â `1` = either the `Last-Modified` header, or an explicit
lifetime header, ` Expires` or ` Cache-Control: max-age`, is required
- Â Â `2` = explicit lifetime is required, ` Expires` or `
Cache-Control: max-age`
-
-
-
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
-6. Run the command `traffic_line -x` to apply the configuration changes.
+1. In [`records.config`](../configuration-files/records.config)
+2. edit
[_`proxy.config.http.cache.required_headers`_](../configuration-files/records.config#proxy.config.http.cache.required_headers)
+3. Run the `traffic_line -x` command to apply the configuration changes.
### Cache-Control Headers ### {#Cache-ControlHeaders}
@@ -197,34 +185,49 @@ from a cache, or if it does, then it can
headers that appear in both client requests and server responses. The
following
`Cache-Control` headers affect whether objects are served from cache:
-
-
-* The `no-cache` header, sent by clients, tells Traffic Server that it should
not to serve any objects directly from the cache; therefore, Traffic Server
will always obtain the object from the origin server. You can configure Traffic
Server to ignore client `no-cache` headers - refer to [Configuring Traffic
Server to Ignore Client no-cache Headers](#NoCacheHeaders) for more information.
-* The `max-age` header, sent by servers, is compared to the object age. If the
age is less than `max-age`, then the object is fresh and can be served.
-* The `min-fresh` header, sent by clients, is an **acceptable freshness
tolerance**. This means that the client wants the object to be at least this
fresh. If a cached object does not remain fresh at least this long in the
future, then it is revalidated.
-* The `max-stale` header, sent by clients, permits Traffic Server to serve
stale objects provided they are not too old. Some browsers might be willing to
take slightly stale objects in exchange for improved performance, especially
during periods of poor Internet availability.
+* The `no-cache` header, sent by clients, tells Traffic Server that it should
+ not to serve any objects directly from the cache; therefore, Traffic Server
will
+ always obtain the object from the origin server. You can configure Traffic
Server
+ to ignore client `no-cache` headers - refer to
+ [Configuring Traffic Server to Ignore Client no-cache
Headers](#NoCacheHeaders) for more information.
+
+* The `max-age` header, sent by servers, is compared to the object age.
+ If the age is less than `max-age`, then the object is fresh and can be
served.
+
+* The `min-fresh` header, sent by clients, is an **acceptable freshness
tolerance**.
+ This means that the client wants the object to be at least this fresh.
+ If a cached object does not remain fresh at least this long in the future,
then it is revalidated.
+
+* The `max-stale` header, sent by clients, permits Traffic Server to serve
stale
+ objects provided they are not too old. Some browsers might be willing to take
+ slightly stale objects in exchange for improved performance, especially
during
+ periods of poor Internet availability.
Traffic Server applies `Cache-Control` servability criteria after HTTP
freshness
criteria. For example, an object might be considered fresh but will not be
served if its age is greater than its `max-age`.
-
+
### Revalidating HTTP Objects ### {#RevalidatingHTTPObjects}
-
When a client requests an HTTP object that is stale in the cache, Traffic
Server
revalidates the object. A **revalidation** is a query to the origin server
to check if the object is unchanged. The result of a revalidation is one of
the following:
-
+* If the object is still fresh, then Traffic Server resets its freshness
+ limit and serves the object.
+
+* If a new copy of the object is available, then Traffic Server caches the
+ new object (thereby replacing the stale copy) and simultaneously serves the
object to the user.
-* If the object is still fresh, then Traffic Server resets its freshness limit
and serves the object.
-* If a new copy of the object is available, then Traffic Server caches the new
object (thereby replacing the stale copy) and simultaneously serves the object
to the user.
-* If the object no longer exists on the origin server, then Traffic Server
does not serve the cached copy.
-* If the origin server does not respond to the revalidation query, then
Traffic Server serves the stale object along with a `111 Revalidation Failed`
warning.
+* If the object no longer exists on the origin server, then Traffic Server
+ does not serve the cached copy.
+
+* If the origin server does not respond to the revalidation query, then
+ Traffic Server serves the stale object along with a `111 Revalidation
Failed` warning.
By default, Traffic Server revalidates a requested HTTP object in the cache
if it considers the object to be stale. Traffic Server evaluates object
freshness
@@ -232,40 +235,22 @@ as described in [HTTP Object Freshness](
how Traffic Server evaluates freshness by selecting one of the following
options:
-
-
* Traffic Server considers all HTTP objects in the cache to be stale: always
revalidate HTTP objects in the cache with the origin server.
* Traffic Server considers all HTTP objects in the cache to be fresh: never
revalidate HTTP objects in the cache with the origin server.
* Traffic Server considers all HTTP objects without `Expires` or
`Cache-control` headers to be stale: revalidate all HTTP objects without
`Expires` or `Cache-Control` headers.
To configure how Traffic Server revalidates objects in the cache, you can set
-specific revalidation rules in the `cache.config` file (refer to
[cache.config](files.htm#cache.config)).
+specific revalidation rules in
[`cache.config`](../configuration-files/records.config).
##### To configure revalidation options: ##### {#configurerevalidationoptions}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.http.cache.when_to_revalidate_`
-:
-
- Set this variable to one of the following values:
- Â Â 0 = Configures Traffic Server to revalidate an HTTP object
whenever it is considered stale in the cache. (Traffic Server checks the
headers and the freshness limit, if applicable.) This is the default option.
- Â Â 1 = Configures Traffic Server to revalidate HTTP objects
that do not contain `Expires` or `Cache-control` headers.
- Â Â 2 = Configures Traffic Server to always revalidate HTTP
objects; Traffic Server always considers HTTP objects to be stale.
- Â Â 3 = Configures Traffic Server to never revalidate HTTP
objects; Traffic Server always considers HTTP objects to be fresh.
-
-
+1. In [`records.config`](../configuration-files/records.config)
+2. edit
[_`proxy.config.http.cache.when_to_revalidate`_](../configuration-files/records.config#proxy.config.http.cache.when_to_revalidate)
+3. Run the `traffic_line -x` command to apply the configuration changes.
-4. Save and close the` records.config `file.
-5. Navigate to the Traffic Server `bin` directory.
-
-6. Run the command `traffic_line -x` to apply the configuration changes.
## Scheduling Updates to Local Cache Content ##
{#SchedulingUpdatesLocalCacheContent}
-
-
To further increase performance and to ensure that HTTP objects are fresh in
the cache, you can use the **Scheduled Update** option. This configures
Traffic
Server to load specific objects into the cache at scheduled times. You might
@@ -274,9 +259,9 @@ so you can preload content you anticipat
To use the Scheduled Update option, you must perform the following tasks.
-
+* Specify the list of URLs that contain the objects you want to schedule
+ for update, the time the update should take place, and the recursion depth
for the URL.
-* Specify the list of URLs that contain the objects you want to schedule for
update, the time the update should take place, and the recursion depth for the
URL.
* Enable the scheduled update option and configure optional retry settings.
Traffic Server uses the information you specify to determine URLs for which
@@ -292,137 +277,91 @@ you to update URLs immediately without w
to occur. You can use this option to test your scheduled update configuration
(refer to [Forcing an Immediate Update](#ForcingImmediateUpdate)).
-### Configuring the Scheduled Update Option ###
{#ConfiguringScheduledUpdateOption}
-
-
-##### To configure the scheduled update option, follow the steps below: #####
{#configurescheduledupdateoption,followstepsbelow}
+### Configuring the Scheduled Update Option ###
{#ConfiguringScheduledUpdateOption}
-1. In a text editor, open the `update.config file` located in the Traffic
Server `config` directory.
-2. Enter a line in the file for each URL you want to update (refer to
[update.config](files.htm#update.config)).
-3. Save and close the `update.config` file.
-4. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-5. Edit the following variables:
-6. **Variable** **Description**
-`_proxy.config.update.enabled_`
-: Set this variable to 1 to enable the scheduled update option.
-`_proxy.config.update.retry_count_`
-: Set this variable to specify the number of times you want to retry the
scheduled
- update of a URL in the event of failure. The default value is
10.
-`_proxy.config.update.retry_interval_`
-: Set this variable to specify the delay in seconds between each scheduled
update
- retry for a URL in the event of failure. The default value is 2.
-`_proxy.config.update.concurrent_updates_`
-: Set this variable to specify the maximum simultaneous update requests
allowed
- at any point in time. This option prevents the scheduled update
process from
- overburdening the host. The default value is 100.
-7. Save and close the `records.config` file.
-8. Navigate to the Traffic Server `bin` directory.
+##### To configure the scheduled update option: #####
{#configurescheduledupdateoption}
-9. Run the command `traffic_line -x` to apply the configuration changes.
+1. In [`update.config`](../configuration-files/update.config) enter a line in
the file for each URL you want to update.
+1. In [`records.config`](../configuration-files/records.config)
+2. edit
[_`proxy.config.update.enabled`_](../configuration-files/records.config#proxy.config.http.update.enabled)
+2. edit
[_`proxy.config.update.retry_count`_](../configuration-files/records.config#proxy.config.http.update.retry_count)
+2. edit
[_`proxy.config.update.retry_interval`_](../configuration-files/records.config#proxy.config.http.update.retry_interval)
+2. edit
[_`proxy.config.update.concurrent_updates`_](../configuration-files/records.config#proxy.config.http.update.concurrent_updates)
+3. Run the `traffic_line -x` command to apply the configuration changes.
-### Forcing an Immediate Update ### {#ForcinganImmediateUpdate}
-
+### Forcing an Immediate Update ### {#ForcingImmediateUpdate}
Traffic Server provides a **Force Immediate Update** option that enables you
to immediately verify the URLs listed in the `update.config` file. The Force
Immediate Update option disregards the offset hour and interval set in the
`update.config` file and immediately updates the URLs listed.
-
-
- To configure the Force Immediate Update option, follow the steps below:
-
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.update.force_`
-:
-
- Set this variable to 1 to enable the Force Immediate Update
option.
-
-
-
-4. Make sure that the variable `_proxy.config.update.enabled_` is set to 1.
-5. Save and close the `records.config` file.
-6. Navigate to the Traffic Server `bin` directory.
+##### To configure the Force Immediate Update option: #####
{#configureForceImmediateUpdateoption}
+1. In [`records.config`](../configuration-files/records.config)
+2. edit
[_`proxy.config.update.force`_](../configuration-files/records.config#proxy.config.http.update.force)
+2. Make sure the variable
[_`proxy.config.update.enabled`_](../configuration-files/records.config#proxy.config.http.update.enabled)
is set to 1.
7. Run the `command traffic_line -x` to apply the configuration changes.
-**IMPORTANT: **When you enable the Force Immediate Update option, Traffic
Server
+**IMPORTANT:** When you enable the Force Immediate Update option, Traffic
Server
continually updates the URLs specified in the `update.config` file until you
disable the option. To disable the Force Immediate Update option, set the
variable
-`_proxy.config.update.force_` to `0` (zero).
+[_`proxy.config.update.force`_](../configuration-files/records.config#proxy.config.http.update.force)
to `0` (zero).
-
## Pushing Content into the Cache ## {#PushingContentintoCache}
-
-
Traffic Server supports the HTTP `PUSH` method of content delivery. Using HTTP
`PUSH`, you can deliver content directly into the cache without user requests.
-
-
### Configuring Traffic Server to Accept PUSH Requests ###
{#ConfiguringTSAcceptPUSHRequests}
-
-
Before you can deliver content into your cache using HTTP `PUSH`, you must
configure Traffic Server to accept `PUSH` requests.
-##### To configure Traffic Server to accept `PUSH` requests: #####
{#configureTSaccept`PUSH`requests}
+##### To configure Traffic Server to accept `PUSH` requests: #####
{#configureTSacceptPUSHrequests}
-1. In a text editor, open the `filter.config` file located in the Traffic
Server config directory.
-2. Add the following filter rules to the file to ensure that only certain IP
addresses can deliver `PUSH` requests to the cache:
-`domain=. src_ip=_ipaddress_ method=PUSH action=allow
-domain=. method=PUSH action=deny `
- where `_ipaddress_` is the IP address of the host or range of IP addresses of
the hosts from which Traffic Server accepts PUSH requests.
-3. Save and close the `filter.config` file.
-4. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-5. Edit the following variable:
-6. **Variable** **Description**
-`_proxy.config.http.push_method_enabled_`
-:
-
- Set this variable to 1 to enable Traffic Server to accept PUSH
requests.
-
-
+1. In [`filter.config`](../configuration-files/filter.config)
+2. Add the following filter rules to the file to ensure that only certain IP
addresses can deliver `PUSH` requests to the cache:
-7. Save and close the `records.config` file.
-8. Navigate to the Traffic Server `bin` directory.
-9. Run the command `traffic_line -x` to apply the configuration changes.
+ :::text
+ domain=. src_ip=ipaddress method=PUSH action=allow
+ domain=. method=PUSH action=deny
+ where _`ipaddress`_ is the IP address of the host or range of IP addresses
of the hosts from
+ which Traffic Server accepts `PUSH` requests.
+
+3. In [`records.config`](../configuration-files/records.config)
+4. edit
[_`proxy.config.http.push_method_enabled`_](../configuration-files/records.config#proxy.config.http.push_method_enabled)
+5. Run the command `traffic_line -x` to apply the configuration changes.
-### Understanding HTTP PUSH ### {#UnderstandingHTTPPUSH}
-
+### Understanding HTTP PUSH ### {#UnderstandingHTTPPUSH}
`PUSH` uses the HTTP 1.1 message format. The body of a `PUSH` request contains
the response header and response body that you want to place in the cache.
The following is an example of a `PUSH` request:
- `PUSH http://www.company.com HTTP/1.0
-Content-length: 84`
+ PUSH http://www.company.com HTTP/1.0
+ Content-length: 84
+
+ HTTP/1.0 200 OK
+ Content-type: text/html
+ Content-length: 17
+
+ <HTML>
+ a
+ </HTML>
-`HTTP/1.0 200 OK
-Content-type: text/html
-Content-length: 17`
-
-`<HTML>
-a
-</HTML> `
-
-**IMPORTANT: **Your header must include `Content-length`; `Content-length`
+**IMPORTANT:** Your header must include `Content-length`; `Content-length`
must include both `header` and `body byte count`.
-## Pinning Content in the Cache ## {#PinningContentinCache}
-
+## Pinning Content in the Cache ## {#PinningContentinCache}
The **Cache Pinning Option** configures Traffic Server to keep certain HTTP
objects in the cache for a specified time. You can use this option to ensure
@@ -432,109 +371,93 @@ headers and pins an object in the cache
##### To set cache pinning rules and enable Cache Pinning: #####
{#setcachepinningrulesenableCachePinning}
-1. In a text editor, open the `cache.config` file located in the Traffic
Server `config` directory.
-2. Add a rule in the file for each URL you want Traffic Server to pin in the
cache, as shown below.
-`url_regex=_URL_ pin-in-cache=12h `
- where `_URL_` is the URL you want Traffic Server to pin in the cache. The
time format can be `d` for days, `h` for hours (as shown), `m` for minutes, and
`s` for seconds. You can also use mixed units: for example, `1h15m20s`. You can
add secondary specifiers (such as prefix and suffix) to the rule (refer to
[cache.config](files.htm#cache.config) for more information).
-3. Save and close the `cache.config` file.
-4. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-5. Edit the following variable:
-6. **Variable** **Description**
-`_proxy.config.cache.permit.pinning_`
-:
-
- Set this variable to 1 to enable the cache pinning option.
-
-
+1. In [`cache.config`](../configuration-files/cache.config)
+2. Add a rule in the file for each URL you want Traffic Server to pin in the
cache, as shown below.
-7. Navigate to the Traffic Server `bin` directory.
+ url_regex=URL pin-in-cache=12h
+ where _`URL`_ is the URL you want Traffic Server to pin in the cache. The
time format can be `d` for days,
+ `h` for hours (as shown), `m` for minutes, and `s` for seconds. You can
also use mixed units:
+ for example, `1h15m20s`. You can add secondary specifiers (such as prefix
and suffix) to the rule.
+3. In [`records.config`](../configuration-files/records.config)
+4. edit
[_`proxy.config.cache.permit.pinning`_](../configuration-files/records.config#proxy.config.cache.permit.pinning)
8. Run the command `traffic_line -x` to apply the configuration changes.
-## To Cache or Not to Cache? ## {#CacheNotCache?}
-
+## To Cache or Not to Cache? ## {#CacheNotCache}
When Traffic Server receives a request for a web object that is not in the
cache, it retrieves the object from the origin server and serves it to the
client. At the same time, Traffic Server checks if the object is cacheable
before storing it in its cache to serve future requests.
-## Caching HTTP Objects ## {#CachingHTTPObjects}
-
+## Caching HTTP Objects ## {#CachingHTTPObjects}
Traffic Server responds to caching directives from clients and origin servers,
as well as directives you specify through configuration options and files.
-
-
### Client Directives ### {#ClientDirectives}
-
-
By default, Traffic Server does _not_ cache objects with the following
**request**
**headers**:
-
-
* `Cache-Control: no-store` header
-* `Cache-Control: no-cache` header
- To configure Traffic Server to ignore the `Cache-Control: no-cache` header,
refer to [Configuring Traffic Server to Ignore Client no-cache
Headers](#NoCacheHeaders).
-* `Cookie`: header (for text objects)
- By default, Traffic Server caches objects served in response to requests that
contain cookies (unless the object is text). You can configure Traffic Server
to not cache cookied content of any type, cache all cookied content, or cache
cookied content that is of image type only. For more information, refer to
[Caching Cookied Objects](#CachingCookiedObjects).
+* `Cache-Control: no-cache` header
+
+ To configure Traffic Server to ignore the `Cache-Control: no-cache` header,
+ refer to [Configuring Traffic Server to Ignore Client no-cache
Headers](#NoCacheHeaders).
+
+* `Cookie`: header (for text objects)
+
+ By default, Traffic Server caches objects served in response to requests
that
+ contain cookies (unless the object is text). You can configure Traffic
Server
+ to not cache cookied content of any type, cache all cookied content, or
cache
+ cookied content that is of image type only. For more information,
+ refer to [Caching Cookied Objects](#CachingCookiedObjects).
+
* `Authorization`: header
-#### Configuring Traffic Server to Ignore Client no-cache Headers ####
{#ConfiguringTSIgnoreClientno-cacheHeaders}
-
+#### Configuring Traffic Server to Ignore Client no-cache Headers ####
{#ConfiguringTSIgnoreClientnocacheHeaders}
-By default, Traffic Server strictly observes client `Cache Control:no-cache`
+By default, Traffic Server strictly observes client `Cache-Control: no-cache`
directives. If a requested object contains a `no-cache` header, then Traffic
Server forwards the request to the origin server even if it has a fresh copy
in cache. You can configure Traffic Server to ignore client `no-cache`
directives
such that it ignores `no-cache` headers from client requests and serves the
object from its cache.
-##### To configure Traffic Server to ignore client `no-cache` headers: #####
{#configureTSignoreclient`no-cache`headers}
-
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.http.cache.ignore_client_no_cache_`
-:
-
- Set this variable to 1 to ignore client requests to bypass the
cache.
-
-
-
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
+##### To configure Traffic Server to ignore client `no-cache` headers: #####
{#configureTSignoreclientnocacheheaders}
+3. In [`records.config`](../configuration-files/records.config)
+4. edit
[_`proxy.config.cache.ignore_client_no_cache`_](../configuration-files/records.config#proxy.config.cache.ignore_client_no_cache)
6. Run the command `traffic_line -x` to apply the configuration changes.
-### Origin Server Directives ### {#OriginServerDirectives}
-
+### Origin Server Directives ### {#OriginServerDirectives}
By default, Traffic Server does _not_ cache objects with the following
**response**
**headers**:
-
-
* `Cache-Control: no-store` header
* `Cache-Control: private` header
-* `WWW-Authenticate`: header
- To configure Traffic Server to ignore` WWW-Authenticate` headers, refer to
[Configuring Traffic Server to Ignore WWW-Authenticate
Headers](#ConfiguringTrafficEdgeIgnoreWWWAuthenticateHeaders).
+* `WWW-Authenticate`: header
+
+ To configure Traffic Server to ignore` WWW-Authenticate` headers,
+ refer to [Configuring Traffic Server to Ignore WWW-Authenticate
Headers](#ConfiguringTrafficEdgeIgnoreWWWAuthenticateHeaders).
+
* `Set-Cookie`: header
-* `Cache-Control: no-cache` headers
- To configure Traffic Server to ignore `no-cache` headers, refer to
[Configuring Traffic Server to Ignore Server no-cache
Headers](#ConfiguringTrafficEdgeIgnoreServerNoCacheHeaders).
+* `Cache-Control: no-cache` headers
+
+ To configure Traffic Server to ignore `no-cache` headers,
+ refer to [Configuring Traffic Server to Ignore Server no-cache
Headers](#ConfiguringTrafficEdgeIgnoreServerNoCacheHeaders).
+
* `Expires`: header with value of 0 (zero) or a past date
-#### Configuring Traffic Server to Ignore Server **no-cache** Headers ####
{#ConfiguringTSIgnoreServer**no-cache**Headers}
-
+#### Configuring Traffic Server to Ignore Server **no-cache** Headers ####
{#ConfiguringTSIgnoreServernocacheHeaders}
By default, Traffic Server strictly observes `Cache-Control:no-cache`
directives.
A response from an origin server with a `no-cache` header is not stored in
@@ -545,32 +468,18 @@ directives is appropriate in most cases.
##### To configure Traffic Server to ignore server `no-cache` headers: #####
{#configureTSignoreserver`no-cache`headers}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.http.cache.ignore_server_no_cache_`
-:
-
- Set this variable to 1 to ignore server directives to bypass
the cache.
-
-
-
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
-
+3. In [`records.config`](../configuration-files/records.config)
+4. edit
[_`proxy.config.cache.ignore_server_no_cache`_](../configuration-files/records.config#proxy.config.cache.ignore_server_no_cache)
6. Run the command `traffic_line -x` to apply the configuration changes.
-#### Configuring Traffic Server to Ignore WWW-Authenticate Headers ####
{#ConfiguringTSIgnoreWWW-AuthenticateHeaders}
-
+#### Configuring Traffic Server to Ignore WWW-Authenticate Headers ####
{#ConfiguringTSIgnoreWWWAuthenticateHeaders}
By default, Traffic Server does not cache objects that contain
`WWW-Authenticate`
response headers. The `WWW-Authenticate` header contains authentication
parameters
the client uses when preparing the authentication challenge response to an
origin server.
-
-
When you configure Traffic Server to ignore origin server `WWW-Authenticate`
headers, all objects with `WWW-Authenticate` headers are stored in the cache
for future requests. However, the default behavior of not caching objects with
@@ -578,41 +487,28 @@ for future requests. However, the defaul
Server to ignore server `WWW-Authenticate` headers if you are knowledgeable
about HTTP 1.1.
-
+##### To configure Traffic Server to ignore server `WWW-Authenticate` headers:
##### {#configureTSignoreserverWWWAuthenticateheaders}
-##### To configure Traffic Server to ignore server `WWW-Authenticate` headers:
##### {#configureTSignoreserver`WWW-Authenticate`headers}
-
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.http.cache.ignore_authentication_`
-:
-
- Set this variable to 1 to cache objects with WWW Authenticate
headers.
-
-
-
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
+3. In [`records.config`](../configuration-files/records.config)
+4. edit
[_`proxy.config.cache.ignore_authentication`_](../configuration-files/records.config#proxy.config.cache.ignore_authentication)
6. Run the command `traffic_line -x` to apply the configuration changes.
-### Configuration Directives ### {#ConfigurationDirectives}
-
+### Configuration Directives ### {#ConfigurationDirectives}
-In addition to client and origin server directives, Traffic Server responds to
directives you specify through configuration options and files.
- You can configure Traffic Server to do the following:
+In addition to client and origin server directives, Traffic Server responds to
directives
+you specify through configuration options and files.
-
+You can configure Traffic Server to do the following:
-* _Not _cache any HTTP objects (refer to [Disabling HTTP Object
Caching](#DisablingHTTPObjectCaching)).
-* Cache **dynamic content** - that is, objects with URLs that end in
`**.asp**` or contain a question mark (**`?`**), semicolon (`**;**`), or
`**cgi**`. For more information, refer to [Caching Dynamic
Content](#CachingDynamicContent).
+* _Not_ cache any HTTP objects (refer to [Disabling HTTP Object
Caching](#DisablingHTTPObjectCaching)).
+* Cache **dynamic content** - that is, objects with URLs that end in
**`.asp`** or contain a question mark (**`?`**),
+ semicolon (**`;`**), or **`cgi`**. For more information, refer to [Caching
Dynamic Content](#CachingDynamicContent).
* Cache objects served in response to the `Cookie:` header (refer to [Caching
Cookied Objects)](#CachingCookiedObjects).
-* Observe never-cache rules in the `cache.config` file (refer to
[cache.config](files.htm#cache.config)).
+* Observe never-cache rules in the `cache.config` file (refer to
[`records.config`](../configuration-files/records.config)).
-#### Disabling HTTP Object Caching #### {#DisablingHTTPObjectCaching}
-
+#### Disabling HTTP Object Caching #### {#DisablingHTTPObjectCaching}
By default, Traffic Server caches all HTTP objects except those for which you
have set never-cache rules in the `cache.config` file. You can disable HTTP
@@ -621,49 +517,27 @@ server and never cached, as detailed bel
##### To disable HTTP object caching manually: #####
{#disableHTTPobjectcachingmanually}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.http.cache.http_`
-:
-
- Set this variable to 0 (zero) to disable HTTP object caching.
-
-
-
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
+3. In [`records.config`](../configuration-files/records.config)
+4. edit
[_`proxy.config.cache.http`_](../configuration-files/records.config#proxy.config.cache.http)
6. Run the command `traffic_line -x` to apply the configuration changes.
-#### Caching Dynamic Content #### {#CachingDynamicContent}
-
+#### Caching Dynamic Content #### {#CachingDynamicContent}
-A URL is considered **dynamic** if it ends in `**.asp**` or contains a
question
-mark (**`?`**), a semicolon (**`;`**), or `**cgi**`. By default, Traffic
Server
+A URL is considered **dynamic** if it ends in **`.asp`** or contains a
question
+mark (**`?`**), a semicolon (**`;`**), or **`cgi`**. By default, Traffic
Server
does _not_ cache dynamic content. You can configure Traffic Server to cache
-dynamic content, although it's recommended for specialized proxy situations
-only.
+dynamic content, although it's recommended for specialized proxy situations
only.
-##### To configure Traffic Server to cache dynamic content: #####
{#configureTScachedynamiccontent}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.http.cache_urls_that_look_dynamic_`
-:
-
- Set this variable to 1 to cache dynamic content.
-
-
+##### To configure Traffic Server to cache dynamic content: #####
{#configureTScachedynamiccontent}
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
+3. In [`records.config`](../configuration-files/records.config)
+4. edit
[_`proxy.config.cache_urls_that_look_dynamic`_](../configuration-files/records.config#proxy.config.cache_urls_that_look_dynamic)
6. Run the command `traffic_line -x` to apply the configuration changes.
-#### Caching Cookied Objects #### {#CachingCookiedObjects}
-
+#### Caching Cookied Objects #### {#CachingCookiedObjects}
By default, Traffic Server caches objects served in response to requests that
contain cookies (unless the object is text). Traffic Server does not cache
@@ -672,56 +546,35 @@ and personalized cookie header values co
non-text objects, it is unlikely that personalized headers are delivered or
used.
-
-
You can reconfigure Traffic Server to:
-
-
-* _Not _ cache cookied content of any type.
+* _Not_ cache cookied content of any type.
* Cache cookied content that is of image type only.
* Cache all cookied content regardless of type.
##### To configure how Traffic Server caches cookied content: #####
{#configurehowTScachescookiedcontent}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. **Variable** **Description**
-`_proxy.config.http.cache.cache_responses_to_cookies_`
-:
-
- Set this variable to specify how Traffic Server caches cookied
content:
- Â Â 0 = Do not cache any responses to cookies.
- Â Â 1 = Cache all responses to cookies.
- Â Â 2 = Cache responses to cookies of image type only.
- Â Â 3 = Cache all responses to cookies except text
content-types (the default).
-
-
-
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
+3. In [`records.config`](../configuration-files/records.config)
+4. edit
[_`proxy.config.cache_responses_to_cookies`_](../configuration-files/records.config#proxy.config.cache_responses_to_cookies)
6. Run the command `traffic_line -x` to apply the configuration changes.
-## Forcing Object Caching ## {#ForcingObjectCaching}
-
+## Forcing Object Caching ## {#ForcingObjectCaching}
You can force Traffic Server to cache specific URLs (including dynamic URLs)
for a specified duration, regardless of `Cache-Control` response headers.
##### To force document caching: ##### {#forcedocumentcaching}
-1. In a text editor, open the `cache.config` file located in the Traffic
Server `config` directory.
-2. Add a rule in the file for each URL you want Traffic Server to force cache,
as shown below.
-`url_regex=_URL_ ttl-in-cache=6h`
- where`_ URL_` is the URL you want Traffic Server to force cache. The time
format can be `d` for days, `h` for hours (as shown), `m` for minutes, and `s`
for seconds. You can also use mixed units: for example, `1h15m20s`. In
addition, you can add secondary specifiers (for example, prefix and suffix) to
the rule (refer to [cache.config](files.htm#cache.config)).
-3. Save and close the `cache.config` file.
-4. Navigate to the Traffic Server `bin` directory.
+1. In [`cache.config`](../configuration-files/cache.config)
+2. Add a rule in the file for each URL you want Traffic Server to pin in the
cache, as shown below.
+
+ url_regex=URL ttl-in-cache=6h
+
5. Run the command `traffic_line -x` to apply the configuration changes.
-## Caching HTTP Alternates ## {#CachingHTTPAlternates}
-
+## Caching HTTP Alternates ## {#CachingHTTPAlternates}
Some origin servers answer requests to the same URL with a variety of objects.
The content of these objects can vary widely, according to whether a server
@@ -733,36 +586,32 @@ and response headers for specific conten
as alternates for caching. You can also limit the number of alternate versions
of an object allowed in the cache.
+
### Configuring How Traffic Server Caches Alternates ###
{#ConfiguringHowTSCachesAlternates}
-##### To configure how Traffic Server caches alternates, follow the steps
below: ##### {#configurehowTScachesalternates,followstepsbelow}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variables:
-3. **Variable** **Description**
-`_proxy.config.http.cache.enable_default_vary_headers_`
-:
-
- Set this variable to 1 to cache alternate versions of HTTP
objects that do
- not contain the Vary header.
-
-
-`_proxy.config.http.cache.vary_default_text_`
-: Set this variable to specify the HTTP header field on which you want to
vary
- if the request is for text: for example, an HTML document.
-`_proxy.config.http.cache.vary_default_images_`
-: Set this variable to specify the HTTP header field on which you want to
vary
- if the request is for images: for example, a `.gif` file.
-`_proxy.config.http.cache.vary_default_other_`
-: Set this variable to specify the HTTP header field on which you want to
vary
- if the request is for anything other than text or image.
-
-4. **Note:** If you specify `Cookie` as the header field on which to vary in
the above variables, then make sure that the variable
`_proxy.config.http.cache.cache_responses_to_cookies_` is set appropriately.
- For example, if you set `_proxy.config.http.cache.cache_responses_to_cookies_
` to 2 (cache responses to cookies of image type only) and set the
`_proxy.config.http.cache.vary_default_text_` variable to specify cookie, then
alternates by cookie will not apply to text.
-5. Save and close the `records.config` file.
-6. Navigate to the Traffic Server `bin` directory.
+##### To configure how Traffic Server caches alternates, follow the steps
below: ##### {#configurehowTScachesalternates}
+
+3. In [`records.config`](../configuration-files/records.config)
+4. set
[_`proxy.config.cache.enable_default_vary_headers`_](../configuration-files/records.config#proxy.config.cache.enable_default_vary_headers)
to `1`
+ to cache alternate versions of HTTP objects that do not contain the Vary
header.
+4. set
[_`proxy.config.cache.vary_default_text`_](../configuration-files/records.config#proxy.config.cache.vary_default_text)
to to specify the HTTP
+ header field on which you want to vary if the request is for text: for
example, an HTML document.
+4. set
[_`proxy.config.cache.vary_default_images`_](../configuration-files/records.config#proxy.config.cache.vary_default_images)
to to specify the HTTP
+ header field on which you want to vary if the request is for images: for
example, a `.gif` file.
+4. set
[_`proxy.config.cache.vary_default_other`_](../configuration-files/records.config#proxy.config.cache.vary_default_other)
to to specify the HTTP
+ header field on which you want to vary if the request is for anything
other than text or image.
+
+4. **Note:** If you specify `Cookie` as the header field on which to vary in
the above variables,
+ then make sure that the variable
[_`proxy.config.cache.cache_responses_to_cookies`_](../configuration-files/records.config#proxy.config.cache.cache_responses_to_cookies)
is set appropriately.
+
+ For example, if you set
[_`proxy.config.cache.cache_responses_to_cookies`_](../configuration-files/records.config#proxy.config.cache.cache_responses_to_cookies)
to
+ 2 (cache responses to cookies of image type only) and set the
[_`proxy.config.cache.vary_default_text`_](../configuration-files/records.config#proxy.config.cache.vary_default_text)
+ variable to specify cookie, then alternates by cookie will not apply to
text.
+
7. Run the command `traffic_line -x` to apply the configuration changes.
+
### Limiting the Number of Alternates for an Object ###
{#LimitingNumberofAlternatesforanObject}
You can limit the number of alternates Traffic Server can cache per object
@@ -775,15 +624,12 @@ available alternates in the object store
##### To limit the number of alternates: ##### {#limitnumberofalternates}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. _`proxy.config.cache.limits.http.max_alts`_
-: Set this variable to specify the maximum number of alternate versions of an
- object you want Traffic Server to cache. The default value is
three.
-4. Save and close the `records.config` file.
-5. Navigate to the Traffic Server `bin` directory.
+3. In [`records.config`](../configuration-files/records.config)
+4. set
[_`proxy.config.cache.limits.http.max_alts`_](../configuration-files/records.config#proxy.config.cache.limits.http.max_alts)
+ to specify the maximum number of alternate versions of an object you want
Traffic Server to cache.
6. Run the command `traffic_line -x` to apply the configuration changes.
+
## Using Congestion Control ## {#UsingCongestionControl}
The **Congestion Control** option enables you to configure Traffic Server to
@@ -801,16 +647,12 @@ To use the **Congestion Control** option
if Traffic Server tracks the origin servers per IP address or per hostname
-##### To enable and configure the Congestion Control option : #####
{#enableconfigureCongestionControloption}
+##### To enable and configure the Congestion Control option: #####
{#enableconfigureCongestionControloption}
-1. In a text editor, open the `records.config` file located in the Traffic
Server `config` directory.
-2. Edit the following variable:
-3. _`proxy.config.http.congestion_control.enabled`_
- : Set this variable to 1 to enable the congestion control option.
-4. Save and close the `records.config` file.
-5. In a text editor, open the `congestion.config` file located in the Traffic
Server `config` directory.
-6. Enter rules to specify which origin servers are tracked for congestion and
the timeout values Traffic Server uses to determine congestion. Refer to
[congestion.config](files.htm#congestion.config) for the rule format.
-7. Save and close the `congestion.config` file.
-8. Navigate to the Traffic Server `bin` directory.
+3. In [`records.config`](../configuration-files/records.config)
+4. set
[_`proxy.config.http.congestion_control.enabled`_](../configuration-files/records.config#proxy.config.http.congestion_control.enabled)
+ to 1 to enable the congestion control option.
+3. In [`congestion.config`](../configuration-files/congestion.config)
+6. Enter rules to specify which origin servers are tracked for congestion and
the timeout values Traffic Server uses to determine congestion.
9. Run the command `traffic_line -x` to apply the configuration changes.