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 2011/06/01 01:32:15 UTC

svn commit: r1129964 - in /trafficserver/site/branches/ats-cms/content/docs/trunk/admin: configuration-files/records.config.en.mdtext configuration-files/remap.config.en.mdtext reverse-proxy-http-redirects/index.en.mdtext

Author: igalic
Date: Tue May 31 23:32:15 2011
New Revision: 1129964

URL: http://svn.apache.org/viewvc?rev=1129964&view=rev
Log:
Simplified and corrected the Reverse Proxy chapter.
Fixed and extended records.config where it was lacking.
Updated remap.config to include reverse_maps and a (hopefully) correct priority of remap.config rules

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/configuration-files/remap.config.en.mdtext
    trafficserver/site/branches/ats-cms/content/docs/trunk/admin/reverse-proxy-http-redirects/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=1129964&r1=1129963&r2=1129964&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 31 23:32:15 2011
@@ -1513,6 +1513,8 @@ the `records.config` file.
 :   Default: `1`
 :   Enables (`1`) or disables (`0`) HTTP reverse proxy.
 
+
+
 *`proxy.config.header.parse.no_host_url_redirect`* {#proxy.config.header.parse.no_host_url_redirect}
 :   `STRING`
 :   Default: `NULL`
@@ -1563,7 +1565,7 @@ the `records.config` file.
 
 *`proxy.config.url_remap.pristine_host_hdr`* {#proxy.config.url_remap.pristine_host_hdr}
 :   `INT`
-:   Default: `0`
+:   Default: `1`
 :   Set this variable to `1` if you want to retain the client host
     header in a request during remapping.
 

Modified: trafficserver/site/branches/ats-cms/content/docs/trunk/admin/configuration-files/remap.config.en.mdtext
URL: http://svn.apache.org/viewvc/trafficserver/site/branches/ats-cms/content/docs/trunk/admin/configuration-files/remap.config.en.mdtext?rev=1129964&r1=1129963&r2=1129964&view=diff
==============================================================================
--- trafficserver/site/branches/ats-cms/content/docs/trunk/admin/configuration-files/remap.config.en.mdtext (original)
+++ trafficserver/site/branches/ats-cms/content/docs/trunk/admin/configuration-files/remap.config.en.mdtext Tue May 31 23:32:15 2011
@@ -16,6 +16,8 @@ Notice:    Licensed to the Apache Softwa
            specific language governing permissions and limitations
            under the License.
 
+[TOC]
+
 # remap.config # {#remap.config}
 
 The `remap.config` file contains mapping rules that Traffic Server
@@ -31,18 +33,18 @@ uses to perform the following actions:
 -   Redirect HTTP requests permanently or temporarily without
     Traffic Server having to contact any origin servers
 
+
 Refer to [Reverse Proxy and HTTP Redirects](../reverse-proxy-http-redirects), 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`
+**IMPORTANT:** After you modify the `remap.config` 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 ## {#Format}
+# Format # {#Format}
 
 Each line in the `remap.config` file must contain a mapping rule.
 Traffic Server recognizes three space-delimited fields: `type`,
@@ -89,19 +91,28 @@ format of each field.
 
     where *`scheme`* can be `http` or `https`.
 
+# Precedence # {#Precedence}
+
+Remap rules are not processed top-down, but based on an internal priority
+
+1. `map` and `reverse_map`
+2. `redirect` and `redirect_temparary`
+3. `regex_remap`
+4. `regex_redirect` and `regex_redirect_temporary`
 
-## Examples ## {#Examples}
+# Examples # {#Examples}
 
 The following section shows example mapping rules in the
 `remap.config` file.
 
-### Reverse Proxy Mapping Rules ### {#ReverseProxyMappingRules}
+## Reverse Proxy Mapping Rules ## {#ReverseProxyMappingRules}
 
 The following example shows a map rule that does not specify a path
 prefix in the target or replacement:
 
     :::text
     map http://www.x.com/ http://server.hoster.com/
+    reverse_map http://server.hoster.com/ http://www.x.com/
 
 This rule results in the following translations:
 
@@ -114,10 +125,14 @@ The following example shows a map rule w
 in the target:
 
     :::text
-    map http://www.intranet.y.com/marketing http://marketing.y.com/
-    map http://intranet.y.com/sales http://sales.y.com/
-    map http://intranet.y.com/engineering http://engineering.y.com/
-    map http://intranet.y.com/ http://info.y.com/`
+    map http://www.intranet.y.com/marketing/ http://marketing.y.com/
+    reverse_map http://marketing.y.com/ http://www.intranet.y.com/marketing/
+    map http://intranet.y.com/sales/ http://sales.y.com/
+    reverse_map http://sales.y.com/ http://intranet.y.com/sales/
+    map http://intranet.y.com/engineering/ http://engineering.y.com/
+    reverse_map http://engineering.y.com/ http://intranet.y.com/engineering/
+    map http://intranet.y.com/ http://info.y.com/
+    reverse_map http://info.y.com/ http://intranet.y.com/
 
 These rules result in the following translations:
 
@@ -131,7 +146,9 @@ The following example shows that the ord
 
     :::text
     map http://www.g.com/ http://external.g.com/
-    map http://www.g.com/stuff http://stuff.g.com
+    reverse_map http://external.g.com/ http://www.g.com/
+    map http://www.g.com/stuff/ http://stuff.g.com/
+    reverse_map http://stuff.g.com/ http://www.g.com/stuff/
 
 These rules result in the following translation.
 
@@ -148,7 +165,8 @@ The following example shows a mapping wi
 in the target and replacement:
 
     :::text
-    map http://www.h.com/a/b http://server.h.com/customers/x/y
+    map http://www.h.com/a/b/ http://server.h.com/customers/x/y
+    reverse_map http://server.h.com/customers/x/y/ http://www.h.com/a/b/
 
 This rule results in the following translation.
 
@@ -183,22 +201,22 @@ is unable to route to URLs from older br
 redirect requests without host headers.
 
 
-### Redirect Mapping Rules ### {#RedirectMappingRules}
+## Redirect Mapping Rules ## {#RedirectMappingRules}
 
 The following rule permanently redirects all HTTP requests for
 `www.company.com` to `www.company2.com`:
 
     :::text
-    redirect http://www.company.com http://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`:
 
     :::text
-    redirect_temporary http://www.company1.com http://www.company2.com
+    redirect_temporary http://www.company1.com/ http://www.company2.com/
 
 
-### Regular Expression (regex) Remap Support ### {#regexRemapSupport}
+# Regular Expression (regex) Remap Support # {#regexRemapSupport}
 
 Regular expressions can be specified in remapping rules, with the
 limitations below:
@@ -211,20 +229,23 @@ limitations below:
     will be the entire input string).
 -   The number of substitutions in the expansion string is limited
     to 10.
+-   There is no `regex_` equivalent to `reverse_remap`, so when using
+    `regex_remap` you should make sure the reverse path is clear by
+    setting ([_`proxy.config.url_remap.pristine_host_hdr`_](../configuration-files/records.config#proxy.config.url_remap.pristine_host_hdr))
 
-#### Examples #### {#regexExamples}
+## Examples ## {#regexExamples}
 
     :::text
-    regex_map http://x ([0-9]+).z.com http://real-x$1.z.com
+    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 ### {#PluginChaining}
+# Plugin Chaining # {#PluginChaining}
 
 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 #### {#PluginChainingExamples}
+## Examples ## {#PluginChainingExamples}
 
     :::text
     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

Modified: trafficserver/site/branches/ats-cms/content/docs/trunk/admin/reverse-proxy-http-redirects/index.en.mdtext
URL: http://svn.apache.org/viewvc/trafficserver/site/branches/ats-cms/content/docs/trunk/admin/reverse-proxy-http-redirects/index.en.mdtext?rev=1129964&r1=1129963&r2=1129964&view=diff
==============================================================================
--- trafficserver/site/branches/ats-cms/content/docs/trunk/admin/reverse-proxy-http-redirects/index.en.mdtext (original)
+++ trafficserver/site/branches/ats-cms/content/docs/trunk/admin/reverse-proxy-http-redirects/index.en.mdtext Tue May 31 23:32:15 2011
@@ -24,22 +24,20 @@ like a normal origin server.
 
 This chapter discusses the following topics: 
 
-* [Understanding Reverse Proxy Caching](#UnderstandingReverseProxyCaching)
-* [HTTP Reverse Proxy](#HTTPReverseProxy)
-* [Redirecting HTTP Requests](#RedirectingHTTPRequests)
+[TOC]
 
-## Understanding Reverse Proxy Caching ## {#UnderstandingReverseProxyCaching}
+# Understanding Reverse Proxy Caching # {#UnderstandingReverseProxyCaching}
 
 With **forward proxy caching**, Traffic Server handles web requests to distant 
 origin servers on behalf of the clients requesting the content. **Reverse proxy 
 caching** (also known as **server acceleration **or **virtual web hosting**) 
 is different because Traffic Server acts as a proxy cache on behalf of the 
 origin servers that store the content. Traffic Server is configured to be _the_ 
-origin server that the user is trying to connect to (in contrast to a typical 
-scenario inwhich the advertised hostname of the origin server resolves to Traffic 
-Server, which acts as the real origin server). 
+origin server which the client is trying to connect to. In a typical 
+scenario the advertised hostname of the origin server resolves to Traffic 
+Server, which acts as the real origin server. 
 
-### Reverse Proxy Solutions  ### {#ReverseProxySolutions}
+## Reverse Proxy Solutions  ## {#ReverseProxySolutions}
 
 There are many ways to use Traffic Server as a reverse proxy. Below are a few 
 example scenarios. 
@@ -50,7 +48,7 @@ You can use Traffic Server in reverse pr
 * Deliver content efficiently in geographically distant areas
 * Provide security for origin servers that contain sensitive information 
 
-#### Offloading Heavily-Used Origin Servers  #### {#OffloadingHeavilyUsedOriginServers}
+### Offloading Heavily-Used Origin Servers  ### {#OffloadingHeavilyUsedOriginServers}
 
 Traffic Server can absorb requests to the main origin server and improve the 
 speed & quality of web serving by reducing load and hot spots on backup origin 
@@ -63,7 +61,7 @@ origin server for multiple backup origin
 ![Traffic Server as reverse proxy for a pair of origin servers](/images/admin/revproxy.jpg)
 
 
-#### Delivering Content in Geographically-Dispersed Areas  #### {#DeliveringContentinGeographicallyDispersedAreas}
+### Delivering Content in Geographically-Dispersed Areas  ### {#DeliveringContentinGeographicallyDispersedAreas}
 
 Traffic Server can be used in reverse proxy mode to accelerate origin servers 
 that provide content to areas not located within close geographical proximity. 
@@ -77,7 +75,7 @@ storing capacity of the hardware. Traffi
 fresh automatically, thereby eliminating the complexity of updating remote 
 origin servers. 
 
-#### Providing Security for an Origin Server  #### {#ProvidingSecurityforanOriginServer}
+### Providing Security for an Origin Server  ### {#ProvidingSecurityforanOriginServer}
 
 Traffic Server can be used in reverse proxy mode to provide security for an 
 origin server. If an origin server contains sensitive information that you 
@@ -90,21 +88,21 @@ obtains the content from the origin serv
 Server access to the origin server). The sensitive content resides on the origin 
 server, safely inside the firewall. 
 
-### How Does Reverse Proxy Work?  ### {#HowDoesReverseProxyWork}
+## How Does Reverse Proxy Work?  ## {#HowDoesReverseProxyWork}
 
 When a browser makes a request, it normally sends that request directly to 
 the origin server. When Traffic Server is in reverse proxy mode, it intercepts 
 the request before it reaches the origin server. Typically, this is done by 
-setting up the DNS entry for the origin server (ie, the origin server’s 'advertised' 
+setting up the DNS entry for the origin server (i.e., the origin server's 'advertised' 
 hostname) so it resolves to the Traffic Server IP address. When Traffic Server 
 is configured as the origin server, the browser connects to Traffic Server 
 rather than the origin server. For additional information, see [HTTP Reverse 
 Proxy](#HTTPReverseProxy).
 
-**Note:** To avoid a DNS conflict, the origin server’s hostname and its advertised 
+**Note:** To avoid a DNS conflict, the origin server’s hostname and its advertised
 hostname must not be the same. 
 
-## HTTP Reverse Proxy ## {#HTTPReverseProxy}
+# HTTP Reverse Proxy # {#HTTPReverseProxy}
 
 In reverse proxy mode, Traffic Server serves HTTP requests on behalf of a web 
 server. The figure below illustrates how Traffic Server in reverse proxy mode 
@@ -115,10 +113,15 @@ serves an HTTP request from a client bro
 
 The figure above demonstrates the following steps: 
 
-1. A client browser sends an HTTP request addressed to a host called `www.host.com` on port 80. Traffic Server receives the request because it is acting as the origin server (the origin server’s advertised hostname resolves to Traffic Server). 
-2. Traffic Server locates a map rule in the `remap.config` file and remaps the request to the specified origin server (`realhost.com`). 
-3. Traffic Server opens an HTTP connection to the origin server. 
-4. If the request is a cache hit and the content is fresh, then Traffic Server sends the requested object to the client from the cache. Otherwise, Traffic Server obtains the requested object from the origin server, sends the object to the client, and saves a copy in its cache. 
+1. A client browser sends an HTTP request addressed to a host called `www.host.com`
+   on port 80. Traffic Server receives the request because it is acting as the origin
+   server (the origin server’s advertised hostname resolves to Traffic Server). 
+2. Traffic Server locates a map rule in the `remap.config` file and remaps the request
+   to the specified origin server (`realhost.com`). 
+3. Traffic Server opens an HTTP connection to the origin server. (This step is optional)
+4. If the request is a cache hit and the content is fresh, then Traffic Server sends the
+   requested object to the client from the cache. Otherwise, Traffic Server obtains the
+   requested object from the origin server, sends the object to the client, and saves a copy in its cache. 
 
 To configure HTTP reverse proxy, you must perform the following tasks: 
 
@@ -128,76 +131,63 @@ To configure HTTP reverse proxy, you mus
 In addition to the tasks above, you can also [Set Optional HTTP Reverse Proxy 
 Options](#SettingOptionalHTTPReverseProxyOptions). 
 
-### Creating Mapping Rules for HTTP Requests  ### {#CreatingMappingRulesforHTTPRequests}
+## Handling Origin Server Redirect Responses  ## {#HandlingOriginServerRedirectResponses}
 
-In forward proxy caching, Traffic Server acts as a proxy server and receives 
-proxy requests. In reverse proxy caching, however, Traffic Server must act 
-as an origin server rather than a proxy server - this means that it receives 
-server requests and not proxy requests. Therefore, to satisfy proxy requests, 
-Traffic Server must construct a proxy request from the server request. 
-
-In HTTP, proxy requests specify the entire URL whereas server requests specify only the path. A server request might look like this:
-
-    :::text
-    GET /index.html HTTP/1.0 Host: real.dianes-books.com
-
-However, the corresponding proxy request would look like this
-
-    :::text
-    GET http://real.dianes-books.com/index.html HTTP/1.0 Host: real.dianes-books.com
-
-Traffic Server can construct a proxy request from a server request by using the server information in the host header. However, the correct proxy request must contain the hostname of the origin server, not the advertised hostname that name servers associate to Traffic Server. The advertised hostname is the name that appears in the host header; for the origin server `real.dianes-books.com`, the server request and host header would be:
-
-    :::text
-    GET /index.html HTTP/1.0 Host: www.dianes-books.com
-
- And the correct proxy request should be
-
-    :::text
-    GET http://real.dianes-books.com/index.html HTTP/1.0 Host: real.dianes-books.com
-
-To translate `www.dianes-books.com` to `real.dianes-books.com`, Traffic Server 
-needs a set of URL rewriting rules (mapping rules). Mapping rules are described 
-in [Using Mapping Rules for HTTP Requests](#UsingMappingRulesHTTPRequests). 
-
-In general, use reverse proxy mode to support more than one origin server. 
-In this case, all of the advertised hostnames resolve to the IP address or 
-virtual IP address of Traffic Server. Using host headers, Traffic Server is 
-able to translate server requests for any number of servers into proxy requests 
-for those servers. If Traffic Server receives requests from older browsers 
-that do not support host headers, then Traffic Server can either route these 
-requests directly to a specific server or send the browser to a URL containing 
-information about the problem (refer to [Setting Optional HTTP Reverse Proxy 
-Options](#SettingOptionalHTTPReverseProxyOptions)). 
-
-#### Handling Origin Server Redirect Responses  #### {#HandlingOriginServerRedirectResponses}
-
-Origin servers often send redirect responses back to browsers that redirecting 
+Origin servers often send redirect responses back to browsers redirecting 
 them to different pages. For example, if an origin server is overloaded, then 
 it might redirect browsers to a less loaded server. Origin servers also redirect 
-when web pages have moved to different locations. When Traffic Server is configured 
+when web pages that have moved to different locations. When Traffic Server is configured 
 as a reverse proxy, it must readdress redirects from origin servers so that 
 browsers are redirected to Traffic Server and _not_ to another origin server. 
  
-
-To readdress redirects, Traffic Server uses reverse-map rules. In general, 
-you should set up a reverse-map rule for each map rule. To create reverse-map 
-rules, refer to [Using Mapping Rules for HTTP Requests](#UsingMappingRulesHTTPRequests). 
+To readdress redirects, Traffic Server uses reverse-map rules. Unless you have
+[proxy.config.url_remap.pristine_host_hdr](configuration-files/records.config#proxy.config.url_remap.pristine_host_hdr)
+enabled (the default) you should generally set up a reverse-map rule for each map rule.d
+To create reverse-map rules, refer to [Using Mapping Rules for HTTP Requests](#UsingMappingRulesHTTPRequests). 
  
 
-#### Using Mapping Rules for HTTP Requests  #### {#UsingMappingRulesforHTTPRequests}
+## Using Mapping Rules for HTTP Requests  ## {#UsingMappingRulesHTTPRequests}
+
+Traffic Server uses two types of mapping rules for HTTP reverse proxy.
+
 
-Traffic Server uses two types of mapping rules for HTTP reverse proxy: 
+### map rule ### {#maprule}
+
+A **map rule** translates the URL in client requests into the URL where the content
+is located. When Traffic Server is in reverse proxy mode and receives an HTTP client request,
+it first constructs a complete request URL from the relative URL and its headers.
+Traffic Server then looks for a match by comparing the complete request URL with its list of
+target URLs in the [`remap.config`](../configuration-files/remap.config) file.
+For the request URL to match a target URL, the following conditions must be true: 
 
-* A **map rule** translates the URL in client requests into the URL where the content is located. When Traffic Server is in reverse proxy mode and receives an HTTP client request, it first constructs a complete request URL from the relative URL and its headers. Traffic Server then looks for a match by comparing the complete request URL with its list of target URLs in the `remap.config `file. For the request URL to match a target URL, the following conditions must be true: 
 * The scheme of both URLs must be the same
-* The host in both URLs must be the same. If the request URL contains an unqualified hostname, then it will never match a target URL with a fully-qualified hostname.
-* The ports in both URLs must be the same. If no port is specified in a URL, then the default port for the scheme of the URL is used.
+* The host in both URLs must be the same. If the request URL contains an unqualified hostname,
+  then it will never match a target URL with a fully-qualified hostname.
+* The ports in both URLs must be the same. If no port is specified in a URL, then the default
+   port for the scheme of the URL is used.
 * The path portion of the target URL must match a prefix of the request URL path
- If Traffic Server finds a match, then it translates the request URL into the replacement URL listed in the map rule: it sets the host and path of the request URL to match the replacement URL. If the URL contains path prefixes, then Traffic Server removes the prefix of the path that matches the target URL path and substitutes it with the path from the replacement URL. If two mappings match a request URL, then Traffic Server applies the first mapping listed in the `remap.config` file. 
-* 
-* A **reverse-map rule** translates the URL in origin server redirect responses to point to Traffic Server so that clients are redirected to Traffic Server instead of accessing an origin server directly. For example, if there is a directory `/pub` on an origin server at `www.molasses.com` and a client sends a request to that origin server for `/pub`, then the origin server might reply with a redirect to `http://www.test.com/pub/` to let the client know that it was a directory it had requested, not a document (a common use of redirects is to normalize URLs so that clients can bookmark documents properly).   
- Traffic Server uses reverse-map rules to prevent clients (that receive redirects from origin servers) from bypassing Traffic Server and directly accessing the origin servers. 
+
+If Traffic Server finds a match, then it translates the request URL into the replacement URL listed
+in the map rule: it sets the host and path of the request URL to match the replacement URL.
+If the URL contains path prefixes, then Traffic Server removes the prefix of the path that matches
+the target URL path and substitutes it with the path from the replacement URL. If two mappings match
+a request URL, then Traffic Server applies the first mapping listed in the
+[`remap.config`](../configuration-files/remap.config) file.
+
+
+### reverse-map rule ### {#reversemaprule}
+
+A **reverse-map rule** translates the URL in origin server redirect responses to point to
+Traffic Server so that clients are redirected to Traffic Server instead of accessing an
+origin server directly. For example, if there is a directory `/pub` on an origin server at
+`www.molasses.com` and a client sends a request to that origin server for `/pub`, then the
+origin server might reply with a redirect to `http://www.test.com/pub/` to let the client know
+that it was a directory it had requested, not a document (a common use of redirects is to
+normalize URLs so that clients can bookmark documents properly). 
+
+Traffic Server uses reverse-map rules to prevent clients (that receive redirects from origin
+servers) from bypassing Traffic Server and directly accessing the origin servers. 
+
 
 Both map and reverse-map rules consist of a **target** (origin) URL and a **replacement** 
 (destination) URL. In a **map rule**, the target URL points to Traffic Server 
@@ -207,38 +197,39 @@ is located and the replacement URL point
 stores mapping rules in the `remap.config` file located in the Traffic Server 
 `config` directory.
 
-##### To create mapping rules:  ##### {#createmappingrules}
+## Creating Mapping Rules for HTTP Requests ## {#CreatingMappingRulesHTTPRequests}
+
+To create mapping rules
 
-1. In the [`remap.config`](../configuration-files/remap.config)
-2. Enter your map and reverse-map rules
+1. Enter the map and reverse-map rules into the [`remap.config`](../configuration-files/remap.config) file
 5. Run the command `traffic_line -x` to apply the configuration changes.
 
-### Enabling HTTP Reverse Proxy  ### {#EnablingHTTPReverseProxy}
+## Enabling HTTP Reverse Proxy  ## {#EnablingHTTPReverseProxy}
 
 To enable HTTP reverse proxy, follow the steps below.
 
-1. In the [`records.config`](../configuration-files/records.config)
-2. Edit the variable [_`proxy.config.reverse_proxy.enabled`_](../configuration-files/records.config#proxy.config.reverse_proxy.enabled)
+1. Edit the following variable in [`records.config`](../configuration-files/records.config)
+    * [_`proxy.config.reverse_proxy.enabled`_](../configuration-files/records.config#proxy.config.reverse_proxy.enabled)
 6. Run the command `traffic_line -x` to apply the configuration changes. 
 
-### Setting Optional HTTP Reverse Proxy Options  ### {#SettingOptionalHTTPReverseProxyOptions}
+## Setting Optional HTTP Reverse Proxy Options  ## {#SettingOptionalHTTPReverseProxyOptions}
 
-Traffic Server provides several reverse proxy configuration options that enable 
-you to: 
+Traffic Server provides several reverse proxy configuration options in
+[`records.config`](../configuration-files/records.config) that enable you to: 
 
 * Configure Traffic Server to retain the client host header information in a request during translation
-* Configure Traffic Server to serve requests only to the origin servers listed in the mapping rules. As a result, requests to origin servers not listed in the mapping rules are not served.
-* Specify an alternate URL to which incoming requests from older clients (i.e., ones that do not provide `Host` headers) are directed
+([_`proxy.config.url_remap.pristine_host_hdr`_](../configuration-files/records.config#proxy.config.url_remap.pristine_host_hdr))
 
-##### To set optional HTTP reverse proxy options:  ##### {#setoptionalHTTPreverseproxyoptions}
+* Configure Traffic Server to serve requests only to the origin servers listed in the mapping rules. As a
+  result, requests to origin servers not listed in the mapping rules are not served.
+  ([_`proxy.config.url_remap.remap_required`_](../configuration-files/records.config#proxy.config.url_remap.remap_required))
+* Specify an alternate URL to which incoming requests from older clients
+  (i.e., ones that do not provide `Host` headers) are directed
+  ([_`proxy.config.header.parse.no_host_url_reedirect`_](../configuration-files/records.config#proxy.config.header.parse.no_host_url_redirect))
 
-1. In the [`records.config`](../configuration-files/records.config)
-2. Edit the variable [_`proxy.config.url_remap.pristine_host_hdr`_](../configuration-files/records.config#proxy.config.url_remap.pristine_host_hdr)
-2. Edit the variable [_`proxy.config.url_remap.remap_required`_](../configuration-files/records.config#proxy.config.url_remap.remap_required)
-2. Edit the variable [_`proxy.config.header.parse.no_host_url_reedirect`_](../configuration-files/records.config#proxy.config.header.parse.no_host_url_redirect)
-6. Run the command `traffic_line -x` to apply the configuration changes. 
+Don't forget to run the command `traffic_line -x` to apply the configuration changes. 
 
-## Redirecting HTTP Requests ## {#RedirectingHTTPRequests}
+# Redirecting HTTP Requests # {#RedirectingHTTPRequests}
 
 You can configure Traffic Server to redirect HTTP requests without having to 
 contact any origin servers. For example, if you redirect all requests for `http://www.ultraseek.com` 
@@ -252,10 +243,9 @@ the HTTP status code **`301`**) so that 
 redirects** notify the browser of the URL change for the current request only 
 (by returning the HTTP status code **`307`** ).
 
-##### To set redirect rules:  ##### {#setredirectrules}
+To set redirect rules
 
-1. In the [`remap.config`](../configuration-files/remap.config)
-2. Enter a mapping rule for each redirect you want to set.
+1. For each redirect you want to set enter a mapping rule in the [`remap.config`](../configuration-files/remap.config) file
 5. Run the command `traffic_line -x` to apply the configuration changes.