Author: buildbot
Date: Thu Sep 1 03:58:59 2011
New Revision: 795072
Log:
Staging update by buildbot
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/admin/faqs/index.en.html
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/admin/faqs/index.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/admin/faqs/index.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/admin/faqs/index.en.html
Thu Sep 1 03:58:59 2011
@@ -51,10 +51,759 @@
<div class="row content">
<div class="eightcol">
<div id="content">
- <p>This document is a place holder. As soon as there actually
<em>are</em> Frequently
-asked Questions, they shold be put here, and reference back to our
documentation.</p>
-<p>A need for a FAQs is a signal for bad documentation. Lets make sure we don't
-fall into that category.</p>
+ <h1 id="AppendixG-FAQsTroubleshootingTips">Appendix G - FAQs and
Troubleshooting Tips</h1>
+<p>This appendix contains the following sections:</p>
+<ul>
+<li><a href="#0_30488">Frequently Asked Questions</a></li>
+<li><a href="#0_96161">Troubleshooting Tips</a></li>
+</ul>
+<h2 id="FrequentlyAskedQuestions">Frequently Asked Questions</h2>
+<p>FAQs</p>
+<ul>
+<li><a href="#0_41244">How do you create a raw disk for the cache if all your
disks have mounted file systems?</a></li>
+<li><a href="#0_34163">How do disk I/O errors affect the cache and what does
Traffic Server do when a cache disk fails?</a></li>
+<li><a href="#0_45613">If a client disconnects during the time that Traffic
Server is downloading a large object, is any of the object saved in the
cache?</a></li>
+<li><a href="#0_95054">Can Traffic Server cache Java applets, JavaScript
programs, or other application files like VBScript?</a></li>
+<li><a href="#0_37211">How do you apply changes to the
<code>logs_xml.config</code> file to all nodes in a cluster?</a></li>
+<li><a href="#0_21826">In Squid- and Netscape-format log files, what do the
cache result codes mean?</a></li>
+<li><a href="#0_11719">What is recorded by the <code>cqtx</code> field in a
custom log file?</a></li>
+<li><a href="#0_42816">Does Traffic Server refresh entries in its host
database after a certain period of time if they haven't been used?</a></li>
+<li><a href="#0_12274">Can you improve the look of your custom response pages
by using images, animated .gifs, and Java applets?</a></li>
+<li><a href="#0_84580">Can Traffic Server run in both forward proxy and
reverse proxy mode at the same time?</a></li>
+<li><a href="#enable_forward_proxy">How do I enable forward proxy
mode?</a></li>
+<li><a href="#interpret_via_header">How do I interpret the Via: header
code?</a></li>
+<li><a href="#expect_header">Support for HTTP Expect: Header</a></li>
+</ul>
+<h3
id="_how_do_you_create_a_raw_disk_for_the_cache_if_all_your_disks_have_mounted_file_systems___howdoyoucreatearawdiskforcacheifallyourdiskshavemountedfilesystems"><em>How
do you create a raw disk for the cache if all your disks have mounted file
systems?</em> ###
{#Howdoyoucreatearawdiskforcacheifallyourdiskshavemountedfilesystems?}</h3>
+<h4 id="createarawdisk">To create a raw disk:</h4>
+<ol>
+<li>
+<p>As <code>root</code>, enter the following command at the prompt to examine
which file systems are mounted on the disk you want to use for the Traffic
Server cache: <br />
+<code>df -k</code> <br />
+</p>
+</li>
+<li>
+<p>In a text editor, open the<br />
+ /etc/fstab file and comment out/delete the file system entries
for the disk.</p>
+</li>
+<li>Save and close the <code>fstab</code> file.</li>
+<li>Enter the following command for each file system you want to unmount:<br />
+<code>umount _file_system_</code></li>
+</ol>
+<p>where <code>_ file_system_</code> is the file system you want to unmount.
+5. Install Traffic Server. When the installation script prompts you for a
cache disk, select the raw disk you just created.</p>
+<p>_</p>
+<h3
id="how_do_disk_io_errors_affect_the_cache_and_what_does_traffic_server_do_when_a_cache_disk_fails__howdodiskioerrorsaffectcachewhatdoestsdowhenacachediskfails">How
do disk I/O errors affect the cache and what does Traffic Server do when a
cache disk fails? ###
{#HowdodiskI/OerrorsaffectcachewhatdoesTSdowhenacachediskfails?}</h3>
+<p>_</p>
+<p>If a disk drive fails five successive I/O operations, then Traffic Server
considers the drive inaccessible and removes the entire disk from the cache.
Normal cache operations continue for all other Traffic Server disk drives._
+_</p>
+<p>_
+__</p>
+<h3
id="if_a_client_disconnects_during_the_time_that_traffic_server_is_downloading_a_large_object_is_any_of_the_object_saved_in_the_cache__ifaclientdisconnectsduringtimethattsisdownloadingalargeobjectisanyofobjectsavedincache">If
a client disconnects during the time that Traffic Server is downloading a
large object, is any of the object saved in the cache? ###
{#IfaclientdisconnectsduringtimethatTSisdownloadingalargeobject,isanyofobjectsavedincache?}</h3>
+<p>_</p>
+<p>When a client disconnects during an HTTP operation, Traffic Server
continues
+to download the object from the origin server for up to 10 seconds. If the
+transfer from the origin server completes successfully within 10 seconds after
+the client disconnect, then Traffic Server stores the object in cache. If the
+origin server download does <em>not</em> complete successfully within 10
seconds,
+then Traffic Server disconnects from the origin server and deletes the object
+from cache. Traffic Server does not store partial documents in the cache.</p>
+<p>_</p>
+<h3
id="can_traffic_server_cache_java_applets_javascript_programs_or_other_application_files_like_vbscript__cantscachejavaappletsjavascriptprogramsotherapplicationfileslikevbscript">Can
Traffic Server cache Java applets, JavaScript programs, or other application
files like VBScript? ###
{#CanTScacheJavaapplets,JavaScriptprograms,otherapplicationfileslikeVBScript?}</h3>
+<p>_</p>
+<p>Yes, Traffic Server can store and serve Java applets, JavaScript programs,
VBScripts, and other executable objects from its cache according to the
freshness and cacheability rules for HTTP objects. Traffic Server does not
execute the applets, scripts, or programs, however - these objects run only
when the client system (ie, the one that sent the request) loads them._
+<em>_
+</em></p>
+<p>_</p>
+<h3
id="how_do_you_apply_changes_to_the_logs_xmlconfig_file_to_all_nodes_in_a_cluster__howdoyouapplychangeslogsxmlconfigfileallnodesinacluster">How
do you apply changes to the <code>logs_xml.config</code> file to all nodes in
a cluster? ###
{#Howdoyouapplychanges<code>logsxml.config</code>fileallnodesinacluster?}</h3>
+<p>_</p>
+<p>After you modify the <br />
+ logs_xml.config file on one Traffic Server node, enter the following
command from the Traffic Server<br />
+ bin directory:<br />
+<code>traffic_line -x</code></p>
+<p>Traffic Server applies the changes to all nodes in the cluster. The changes
take effect immediately.__</p>
+<p>_</p>
+<h3
id="in_squid-_and_netscape-format_log_files_what_do_the_cache_result_codes_mean__insquid-netscape-formatlogfileswhatdocacheresultcodesmean">In
Squid- and Netscape-format log files, what do the cache result codes mean? ###
{#InSquid-Netscape-formatlogfiles,whatdocacheresultcodesmean?}</h3>
+<p>_</p>
+<p>The following table describes the cache result codes in Squid and Netscape
+log files.</p>
+<p>_
+**</p>
+<p>Cache Result Code</p>
+<hr />
+<p>Description</p>
+<p>** </p>
+<div class="codehilite"><pre> <span class="n">TCP_HIT</span>
+</pre></div>
+
+
+<dl>
+<dd>
+<p>A valid copy of the requested object was in the cache and Traffic Server
sent
+the object to the client. </p>
+<div class="codehilite"><pre><span class="n">TCP_MISS</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The requested object was not in cache, so Traffic Server retrieved the
object
+from the origin server (or a parent proxy) and sent it to the client.</p>
+<div class="codehilite"><pre><span class="n">TCP_REFRESH_HIT</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The object was in the cache, but it was stale. Traffic Server made an<br />
+ if-modified-since request to the origin server and the origin server
sent a <br />
+ 304 not-modified response. Traffic Server sent the cached object to
the client.</p>
+<div class="codehilite"><pre><span class="n">TCP_REF_FAIL_HIT</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The object was in the cache but was stale. Traffic Server made an<br />
+ if-modified-since request to the origin server but the server did
not respond_._ Traffic Server sent the cached object to the client.</p>
+<div class="codehilite"><pre><span class="n">TCP_REFRESH_MISS</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The object was in the cache but was stale. Traffic Server made an<br />
+ if-modified-since request to the origin server and the server
returned a new object_._ Traffic Server served the new object to the client.</p>
+<div class="codehilite"><pre><span class="n">TCP_CLIENT_REFRESH</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The client issued a request with a <code>no-cache</code> header. Traffic
Server obtained
+the requested object from the origin server and sent a copy to the client.
+Traffic Server deleted the previous copy of the object from cache.</p>
+<div class="codehilite"><pre><span class="n">TCP_IMS_HIT</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The client issued an <br />
+ if-modified-since request and the object was in cache & fresher
than the IMS date, <strong>or</strong> an<br />
+ if-modified-since request to the origin server revealed the cached
object was fresh. Traffic Server served the cached object to the client.</p>
+<div class="codehilite"><pre><span class="n">TCP_IMS_MISS</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The client issued an <br />
+ if-modified-since request, and the object was either not in cache or
was stale in cache. Traffic Server sent an <br />
+ if-modified-since request to the origin server and received the new
object. Traffic Server sent the updated object to the client.</p>
+<div class="codehilite"><pre><span class="n">TCP_SWAPFAIL</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The object was in the cache but could not be accessed. The client did not
+receive the object.</p>
+<div class="codehilite"><pre><span class="n">ERR_CLIENT_ABORT</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The client disconnected before the complete object was sent.</p>
+<div class="codehilite"><pre><span class="n">ERR_CONNECT_FAIL</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>Traffic Server could not reach the origin server.</p>
+<div class="codehilite"><pre><span class="n">ERR_DNS_FAIL</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The Domain Name Server (DNS) could not resolve the origin server name, or
+no DNS could be reached.</p>
+<div class="codehilite"><pre><span class="n">ERR_INVALID_REQ</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The client HTTP request was invalid. (Traffic Server forwards requests with
+unknown methods to the origin server.) </p>
+<div class="codehilite"><pre><span class="n">ERR_READ_TIMEOUT</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The origin server did not respond to Traffic Server's request within the
timeout
+interval.</p>
+<div class="codehilite"><pre><span class="n">ERR_PROXY_DENIED</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>Client service was denied.</p>
+<div class="codehilite"><pre><span class="n">ERR_UNKNOWN</span>
+</pre></div>
+
+
+</dd>
+<dd>
+<p>The client connected, but subsequently disconnected without sending a
request. </p>
+</dd>
+</dl>
+<h3
id="what_is_recorded_by_the_cqtx_field_in_a_custom_log_file__whatisrecordedbycqtxfieldinacustomlogfile">What
is recorded by the <code>cqtx</code> field in a custom log file? ###
{#Whatisrecordedby<code>cqtx</code>fieldinacustomlogfile?}</h3>
+<p>_</p>
+<p>In <strong>forward proxy mode</strong>, the<br />
+ cqtx field records the complete client request in the log file (for
example,<br />
+ GET http://www.company.com HTTP/1.0 ). <br />
+ In <strong>reverse proxy mode</strong>, the <br />
+ cqtx field records the hostname or IP address of the origin server
because Traffic Server first remaps the request as per map rules in the <br />
+ remap.config file.</p>
+<p>_</p>
+<h3
id="does_traffic_server_refresh_entries_in_its_host_database_after_a_certain_period_of_time_if_they_have_not_been_used__doestsrefreshentriesinitshostdatabaseafteracertainperiodoftimeiftheyhavenotbeenused">Does
Traffic Server refresh entries in its host database after a certain period of
time if they have not been used? ###
{#DoesTSrefreshentriesinitshostdatabaseafteracertainperiodoftimeiftheyhavenotbeenused?}</h3>
+<p>_</p>
+<p>By default, the Traffic Server host database observes the time-to-live
(<code>ttl</code>)
+values set by name servers. You can reconfigure Traffic Server to ignore the
+<code>ttl</code> set by name servers and use a specific Traffic Server setting
instead.
+Alternatively, you can configure Traffic Server to compare the
<code>ttl</code> value
+set by the name server with the <code>ttl</code> value set by Traffic Server,
and then
+use either the lower or the higher value. </p>
+<h4 id="adjusthostdatabasesettings">To adjust the host database settings:</h4>
+<ol>
+<li>In a text editor, open the <br />
+ records.config file located in the Traffic Server <br />
+ config directory. </li>
+<li>
+<p>Set the value of the variable <br />
+ proxy.config.hostdb.ttl_mode to:</p>
+</li>
+<li>
+<div class="codehilite"><pre> <span class="mi">0</span> <span
class="n">to</span> <span class="n">obey</span> <span class="sb">`ttl`</span>
<span class="nb">values</span> <span class="n">set</span> <span
class="n">by</span> <span class="n">the</span> <span class="n">name</span>
<span class="n">servers</span><span class="o">.</span>
+</pre></div>
+
+
+</li>
+<li>
+<div class="codehilite"><pre> <span class="mi">1</span> <span
class="n">to</span> <span class="n">ignore</span> <span class="sb">`ttl`</span>
<span class="nb">values</span> <span class="n">set</span> <span
class="n">by</span> <span class="n">name</span> <span class="n">servers</span>
<span class="ow">and</span> <span class="n">instead</span> <span
class="k">use</span> <span class="n">the</span> <span class="n">value</span>
<span class="n">set</span> <span class="n">by</span> <span class="n">the</span>
<span class="n">Traffic</span> <span class="n">Server</span> <span
class="n">configuration</span> <span class="n">variable</span>
+ <span class="n">proxy</span><span class="o">.</span><span
class="n">config</span><span class="o">.</span><span
class="n">hostdb</span><span class="o">.</span><span class="n">timeout</span>
<span class="p">(</span><span class="n">make</span> <span class="n">sure</span>
<span class="n">you</span> <span class="n">set</span> <span
class="n">this</span> <span class="n">variable</span> <span class="n">to</span>
<span class="n">a</span> <span class="n">value</span> <span
class="n">appropriate</span> <span class="k">for</span> <span
class="n">your</span> <span class="n">needs</span><span class="p">)</span><span
class="o">.</span>
+</pre></div>
+
+
+</li>
+<li>
+<div class="codehilite"><pre> <span class="mi">2</span> <span
class="n">to</span> <span class="k">use</span> <span class="n">the</span> <span
class="n">lower</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">two</span> <span class="nb">values</span> <span
class="p">(</span><span class="n">i</span><span class="o">.</span><span
class="n">e</span><span class="o">.</span><span class="p">,</span> <span
class="n">either</span> <span class="n">the</span> <span class="n">value</span>
<span class="n">set</span> <span class="n">by</span> <span class="n">the</span>
<span class="n">name</span> <span class="n">server</span> <span
class="ow">or</span> <span class="n">the</span> <span class="n">one</span>
<span class="n">set</span> <span class="n">by</span> <span
class="n">Traffic</span> <span class="n">Server</span><span
class="p">)</span><span class="o">.</span>
+</pre></div>
+
+
+</li>
+<li>
+<div class="codehilite"><pre> <span class="mi">3</span> <span
class="n">to</span> <span class="k">use</span> <span class="n">the</span> <span
class="n">higher</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">two</span> <span class="nb">values</span><span
class="o">.</span>
+</pre></div>
+
+
+</li>
+</ol>
+<p>Save and close the <br />
+ records.config file. <br />
+ From the Traffic Server <br />
+ bin directory, run the command <br />
+ traffic_line -x to apply the configuration changes. </p>
+<p>_</p>
+<h3
id="can_you_improve_the_look_of_your_custom_response_pages_by_using_images_animated_gifs_and_java_applets__canyouimprovelookofyourcustomresponsepagesbyusingimagesanimatedgifsjavaapplets">Can
you improve the look of your custom response pages by using images, animated
.gifs, and Java applets? ###
{#Canyouimprovelookofyourcustomresponsepagesbyusingimages,animated.gifs,Javaapplets?}</h3>
+<p>_</p>
+<p>No, because Traffic Server can only respond to clients with a single text
or HTML document. As a workaround, however, you can provide references on your
custom response pages to images, animated .gifs, Java applets, or objects other
than text which are located on a web server. Add links in the<br />
+ body_factory template files in the same way you would for any image in
an HTML document (i.e., with the full URL in the <code>SRC</code>
attribute).</p>
+<p>_</p>
+<h3
id="can_traffic_server_run_in_forward_proxy_and_reverse_proxy_modes_at_the_same_time__cantsruninforwardproxyreverseproxymodesatsametime">Can
Traffic Server run in forward proxy and reverse proxy modes at the same time?
### {#CanTSruninforwardproxyreverseproxymodesatsametime?}</h3>
+<p>_</p>
+<p>Yes. When you enable reverse proxy mode, Traffic Server remaps incoming
requests according to the map rules in the <br />
+ remap.config file. All other requests that do not match a map rule are
simply served in forward proxy mode. <br />
+ If you want to run in reverse proxy only mode (wherein Traffic Server does
<em>not</em> serve requests that fail to match a map rule), then you must set
the configuration variable <br />
+ proxy.config.url_remap.remap_required to 1 in the
<code>records.config</code> file. </p>
+<h3 id="HowdoIenableforwardproxymode"><em>How do I enable forward proxy
mode</em></h3>
+<p>Forward proxy mode is not enabled out of the box for security reasons. When
enabling any proxy on the internet, you want to make sure you observe pertinent
security restrictions. Having an open proxy available to internet users is a
bad thing. If you understand this and are sure you know what you are doing, in
<code>records.config</code>:<br />
+</p>
+<div class="codehilite"><pre> <span class="c1"># Set this variable to 1 if
you want Traffic Server to serve </span>
+ <span class="c1"># requests only from origin servers listed in the mapping
rules</span>
+ <span class="c1"># of the remap.config file. If a request does not match,
then </span>
+ <span class="c1"># the browser will receive an error.</span>
+ <span class="n">CONFIG</span> <span class="n">proxy</span><span
class="o">.</span><span class="n">config</span><span class="o">.</span><span
class="n">url_remap</span><span class="o">.</span><span
class="n">remap_required</span> <span class="n">INT</span> <span
class="mi">0</span>
+</pre></div>
+
+
+<h3
id="_how_do_i_interpret_the_via_header_code___howdoiinterpretviaheadercode"><em>How
do I interpret the Via: header code?</em> ###
{#HowdoIinterpretViaheadercode?}</h3>
+<p>The Via header is an optional HTTP header added by Traffic Server and other
+HTTP proxies. If a request goes through multiple proxies, each one appends
+its Via header content to the end of the existing Via header. Via header
content
+is for general information and diagnostic use only and should not be used as
+a programmatic interface to Traffic Server. </p>
+<p>The form of the Via header is </p>
+<p>Via: <em><protocol> <proxyname></em> (<em><product/version>
[</em><via-codes>_])</p>
+<p><em><protocol></em> the scheme and version of the HTTP request <br />
+</p>
+<p><em><proxyname></em> the configured name of the proxy server <br />
+</p>
+<p><em><product/version></em> the Inktomi Network Products product name and
version <br />
+</p>
+<p><em><via-codes></em> a string of alphabetic codes presenting status
information about the proxy
+handling of the HTTP request </p>
+<p>For example:</p>
+<p>
+ Via: HTTP/1.0 storm (Traffic-Server/4.0.0 [cMs f ])
+ [u lH o f pS eN] cache hit
+ [u lM oS fF pS eN] cache miss
+ [uN l oS f pS eN] no-cache origin server fetch
+ The short status code shows the cache-lookup, server-info and cache-fill
information as listed in the full status code description below. The long
status code list provided in older, commercial versions of Traffic Server can
be restored by setting the verbose_via_str config variable.
+
+The character strings in the via-code show [_<request results>_:_<proxy op>_]
where _<request results>_ represents status information about the results of
the client request and _<proxy op>_ represent some information about the proxy
operations performed during request processing. The full via-code status format
is
+
+[u_<client-info>_ c_<cache-lookup>_ s_<server-info>_
+
+f_<cache-fill>_ p_<proxy-info>_ e_<error-codes>_
+
+: t_<tunnel-info>_c_<cache-type><cache-lookup-result>_ i_<icp-conn-info>_
p_<parent-proxy>_ s_<server-conn-info>_]
+
+**u** _client-info_ Request headers received from client. Value is one of:
+
+C
+: cookie
+
+E
+: error in request
+
+I
+: If Modified Since (IMS)
+
+N
+: no-cache
+
+S
+: simple request (not conditional)
+
+**c** _cache-lookup_ Result of Traffic Server cache lookup for URL. Value is
one of:
+
+A
+: in cache, not acceptable (a cache "MISS")
+
+H
+: in cache, fresh (a cache "HIT")
+
+M
+: miss (a cache "MISS")
+
+S
+: in cache, stale (a cache "MISS")
+
+blank
+: no cache lookup performed
+
+**s** _server-info_ Response information received from origin server. Value
is one of:
+
+E
+: error in response
+
+N
+: not-modified
+
+S
+: served
+
+blank
+: no server connection needed
+
+**f** _cache-fill_ Result of document write to cache. Value is one of:
+
+D
+: cached copy deleted
+
+U
+: updated old cache copy
+
+<dl>
+<dt>W</dt>
+<dd>written into cache (new copy) </dd>
+<dt>blank</dt>
+<dd>no cache write performed </dd>
+<dt><strong>p</strong> <em>proxy-info</em> Proxy operation result. Value is
one of:</dt>
+<dt>N</dt>
+<dd>not-modified </dd>
+<dt>R</dt>
+<dd>origin server revalidated </dd>
+<dt>S</dt>
+<dd>served </dd>
+<dt><strong>e</strong> <em>error-codes</em> Value is one of:</dt>
+<dt>A</dt>
+<dd>authorization failure </dd>
+<dt>C</dt>
+<dd>connection to server failed </dd>
+<dt>D</dt>
+<dd>dns failure </dd>
+<dt>F</dt>
+<dd>request forbidden </dd>
+<dt>H</dt>
+<dd>header syntax unacceptable </dd>
+<dt>N</dt>
+<dd>no error </dd>
+<dt>S</dt>
+<dd>server related error </dd>
+<dt>T</dt>
+<dd>connection timed out </dd>
+</dl>
+<p><strong>:</strong> = Separates proxy request result information from
operation detail codes </p>
+<dl>
+<dt><strong>t</strong> <em>tunnel-info</em> Proxy-only service operation.
Value is one of:</dt>
+<dt>F</dt>
+<dd>tunneling due to a header field (such as presence of If-Range header) </dd>
+<dt>M</dt>
+<dd>tunneling due to a method (e.g. CONNECT) </dd>
+<dt>O</dt>
+<dd>tunneling because cache is turned off </dd>
+<dt>U</dt>
+<dd>tunneling because of url (url suggests dynamic content) </dd>
+<dt>blank</dt>
+<dd>no tunneling </dd>
+</dl>
+<p><strong>c</strong> <em>cache-type</em> and <em>cache-lookup</em> cache
result values (2 characters) </p>
+<p>cache-type character value is one of</p>
+<dl>
+<dt>C</dt>
+<dd>cache </dd>
+<dt>I</dt>
+<dd>icp </dd>
+<dt>blank</dt>
+<dd>cache miss or no cache lookup </dd>
+<dt>cache-lookup-result character value is one of: C</dt>
+<dd>cache hit, but config forces revalidate </dd>
+<dt>D</dt>
+<dd>cache hit, but method forces revalidated (e.g. ftp, not anonymous) </dd>
+<dt>H</dt>
+<dd>cache hit </dd>
+<dt>I</dt>
+<dd>conditional miss (client sent conditional, fresh in cache, returned 412)
</dd>
+<dt>M</dt>
+<dd>cache miss (url not in cache) </dd>
+<dt>N</dt>
+<dd>conditional hit (client sent conditional, doc fresh in cache, returned
304) </dd>
+<dt>S</dt>
+<dd>cache hit, but expired </dd>
+<dt>U</dt>
+<dd>cache hit, but client forces revalidate (e.g. Pragma: no-cache) </dd>
+<dt>blank</dt>
+<dd>no cache lookup </dd>
+</dl>
+<p><strong>i</strong> <em>icp-conn-info</em> ICP status</p>
+<dl>
+<dt>F</dt>
+<dd>connection open failed </dd>
+<dt>S</dt>
+<dd>connection opened successfully </dd>
+<dt>blank</dt>
+<dd>no icp </dd>
+<dt><strong>p</strong> <em>parent-proxy</em> parent proxy connection
status</dt>
+<dt>F</dt>
+<dd>connection open failed </dd>
+<dt>S</dt>
+<dd>connection opened successfully </dd>
+<dt>blank</dt>
+<dd>no parent proxy </dd>
+</dl>
+<p><strong>s</strong> <em>server-conn-info</em> origin server connection
status</p>
+<dl>
+<dt>F</dt>
+<dd>connection open failed </dd>
+<dt>S</dt>
+<dd>connection opened successfully </dd>
+<dt>blank</dt>
+<dd>no server connection </dd>
+</dl>
+<h3 id="SupportforHTTPExpectHeader">Support for HTTP Expect: Header</h3>
+<p>Traffic Server currently does not handle request Expect: headers according
to the HTTP/1.1 spec. </p>
+<p>Note that clients such as cURL automatically send Expect: for POST requests
with large POST bodies, with a 1 second timeout if a 100 Continue response is
not received. To avoid the timeout when using cURL as a client to Traffic
Server, you can turn off the Expect: header as follows:</p>
+<p>command line:<br />
+ curl -H"Expect:" http://www.example.com/</p>
+<p>C (libcurl): <br />
+ struct curl_slist *header_list=NULL;
+ header_list = curl_slist_append(header_list, "Expect:");
+ curl_easy_setopt(my_curlp, CURLOPT_HTTPHEADER, header_list); </p>
+<p>php: <br />
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); </p>
+<h2 id="TroubleshootingTips">Troubleshooting Tips</h2>
+<p>Troubleshooting Tip</p>
+<ul>
+<li><a href="#0_22364">The throughput statistic is inaccurate </a></li>
+<li><a href="#0_48340">You are unable to execute Traffic Line commands</a></li>
+<li><a href="#0_42829">You observe inconsistent behavior when one node obtains
an object from another node in the cluster</a></li>
+<li><a href="#0_29076">Web browsers display an error document with a "data
missing" message</a></li>
+<li><a href="#0_45366">Traffic Server does not resolve any websites</a></li>
+<li><a href="#0_13841">"Maximum document size exceeded" message in the system
log file</a></li>
+<li><a href="#0_76993">"DrainIncomingChannel" message in the system log
file</a></li>
+<li><a href="#0_73746">"No cop file" message in the system log file</a></li>
+<li><a href="#0_67754">Warning in system log file when manually editing
<code>vaddrs.config</code></a></li>
+<li><a href="#0_57248">Nontransparent requests fail after enabling
<code>always_query_destination</code></a></li>
+<li><a href="#0_47006">Traffic Server is running but no log files are
created</a></li>
+<li><a href="#0_82182">Traffic Server shows an error indicating too many
network connections</a></li>
+<li><a href="#0_93012">Low memory symptoms</a></li>
+<li><a href="#0_56862">Connection timeouts with the origin server</a></li>
+<li><a href="#0_13091">IBM Web servers do not work with Traffic Server</a></li>
+</ul>
+<p>_</p>
+<h3 id="throughputstatisticisinaccurate">The throughput statistic is
inaccurate</h3>
+<p>_</p>
+<p>Traffic Server updates the throughput statistic after it has transferred an
+entire object. For larger files, the byte count increases sharply at the end
+of a transfer. The complete number of bytes transferred is attributed to the
+last 10-second interval, although it can take several minutes to transfer the
+object. This inaccuracy is more noticeable with a light load. A heavier load
+yields a more accurate statistic.</p>
+<p>_</p>
+<h3 id="YouareunableexecuteTrafficLinecommands">You are unable to execute
Traffic Line commands</h3>
+<p>_</p>
+<p>Traffic Line commands do not execute under the following conditions:</p>
+<ul>
+<li><strong>When the <code>traffic_manager</code> process is not
running</strong><br />
+ Check to see if the <code>**traffic_manager**</code> process is running by
entering the following command: <br />
+<code>ps aux | grep traffic_manager</code><br />
+</li>
+</ul>
+<p>If the <code>traffic_manager</code> process is not running, then enter the
following command from the Traffic Server <code>bin</code> directory to start
it:<br />
+<code>./traffic_manager</code> <br />
+</p>
+<p>You should always start and stop Traffic Server with the
<code>start_traffic_server</code>and <code>stop_traffic_server</code> commands
to ensure that all the processes start and stop correctly. For more
information, refer to <a href="getstart.htm">Getting Started</a>.
+<em>
+</em> <strong>When you are not executing the command from
<code>$TSHome/bin</code></strong> <br />
+ If the Traffic Server <code>bin</code> directory is not in your path, then
prepend the Traffic Line commands with <code>./</code> (for example,
<code>./traffic_line -h</code>).
+<em>
+</em> <strong> When multiple Traffic Server installations are present and you
are not executing the Traffic Line command from the active Traffic Server path
specified in <code>/etc/traffic_server</code></strong><code>`
+ Always switch to the correct directory by issuing the command:</code>cd
<code>cat /etc/traffic_server</code>/bin` <br />
+</p>
+<p>_</p>
+<h3
id="Youobserveinconsistentbehaviorwhenonenodeobtainsanobjectfromanothernodeincluster">You
observe inconsistent behavior when one node obtains an object from another
node in the cluster</h3>
+<p>_</p>
+<p>As part of the initial system preparation, you must synchronize the clocks
+on all nodes in your cluster. Minor time differences do not cause problems,
+but differences of more than a few minutes can affect Traffic Server
operation. </p>
+<p>You should run a clock synchronization daemon such as<br />
+ xntpd. To obtain the latest version of <br />
+ xntpd, go to <code>http://www.eecis.udel.edu/~ntp/</code><br />
+</p>
+<p>_</p>
+<h3 id="Webbrowsersdisplayanerrordocumentwithadatamissingmessage">Web browsers
display an error document with a 'data missing' message</h3>
+<p>_ A message similar to the following might display in web browsers: </p>
+<blockquote>
+<div class="codehilite"><pre><span class="n">Data</span> <span
class="n">Missing</span>
+</pre></div>
+
+
+<p>This document resulted from a POST operation and has expired from the
cache. You can repost the form data to recreate the document by pressing the
Reload button.</p>
+</blockquote>
+<p>This is a Web browser issue and not a problem specific to (or caused by)
Traffic
+Server. Because Web browsers maintain a separate local cache in memory and/or
+disk on the client system, messages about documents that have expired from
+cache refer to the browser's local cache and _not _ to the Traffic Server
cache.
+There is no Traffic Server message or condition that can cause such messages
+to appear in a web browser. </p>
+<p>_</p>
+<h3 id="TSdoesnotresolveanywebsites">Traffic Server does not resolve any
websites</h3>
+<p>_</p>
+<p>The browser indicates that it is contacting the host and then times out
with
+the following message: </p>
+<blockquote>
+<div class="codehilite"><pre> <span class="n">The</span> <span
class="n">document</span> <span class="n">contains</span> <span
class="nb">no</span> <span class="n">data</span><span class="p">;</span> <span
class="n">Try</span> <span class="n">again</span> <span
class="n">later</span><span class="p">,</span> <span class="ow">or</span> <span
class="n">contact</span> <span class="n">the</span> <span
class="n">server</span><span class="err">'</span><span class="n">s</span>
<span class="n">Administrator</span><span class="o">...</span>
+</pre></div>
+
+
+</blockquote>
+<p>Make sure the system is configured correctly and that Traffic Server can
read
+the name resolution file: </p>
+<ul>
+<li>Check if the server can resolve DNS lookups by issuing the <br />
+ nslookup command (for example, <code>nslookup
www.myhost.com</code>).</li>
+<li>Check if the <code>/etc/resolv.conf</code> file contains valid IP
addresses for your DNS servers.</li>
+<li>On some systems, if the <code>/etc/resolv.conf</code> file is unreadable
or has no name server entry, then the operating system uses
<code>localhost</code> as a name server. Traffic Server, however, does not use
this convention. If you want to use <code>localhost</code> as a name server,
then you must add a name server entry for <code>127.0.0.1</code> or
<code>0.0.0.0</code> in the <code>/etc/resolv.conf</code> file. </li>
+<li>Check that the Traffic Server user account has permission to read the <br
/>
+ /etc/resolv.conf file. If it does not, then change the file
permissions to <code>rw-r--r--</code> (<code>644</code>)</li>
+</ul>
+<p>_</p>
+<h3 id="Maximumdocumentsizeexceededmessageinsystemlogfile">'Maximum document
size exceeded' message in the system log file</h3>
+<p>_</p>
+<p>The following message appears in the system log file: </p>
+<blockquote>
+<div class="codehilite"><pre> <span class="n">WARNING:</span> <span
class="n">Maximum</span> <span class="n">document</span> <span
class="n">size</span> <span class="n">exceeded</span>
+</pre></div>
+
+
+</blockquote>
+<p>A requested object was larger than the maximum size allowed in the Traffic
Server cache, so Traffic Server provided proxy service for the oversized object
but did not cache it. To set the object size limit for the cache, modify the
<br />
+ proxy.config.cache.limits.http.max_doc_size variable in the <br />
+ records.config file. If you do not want to limit the size of objects in
the cache, then set the document size to<code>**0**</code>(zero).</p>
+<p>_</p>
+<h3 id="DrainIncomingChannelmessageinsystemlogfile">'DrainIncomingChannel'
message in the system log file</h3>
+<p>_</p>
+<p>The following messages may appear in the system log file: </p>
+<blockquote>
+<div class="codehilite"><pre><span class="sb">`Feb 20 23:53:40 louis
traffic_manager[4414]: ERROR ==>`</span>
+
+<span class="sb">`[drainIncomingChannel] Unknown message: 'GET
http://www.telechamada.pt/`</span>
+
+<span class="sb">`HTTP/1.0'`</span>
+
+<span class="sb">`Feb 20 23:53:46 louis last message repeated 1 time`</span>
+
+<span class="sb">`Feb 20 23:53:58 louis traffic_manager[4414]: ERROR
==>`</span>
+
+<span class="sb">`[drainIncomingChannel] Unknown message: 'GET
http://www.ip.pt/ HTTP/1.0'`</span>
+</pre></div>
+
+
+</blockquote>
+<p>These error messages indicate that a browser is sending HTTP requests to
one
+of the Traffic Server cluster ports - either <code>rsport</code> (default port
8088) or
+<code>mcport</code> (default port 8089). Traffic Server discards the request;
this error
+does not cause any Traffic Server problems. The misconfigured browser must
+be reconfigured to use the correct proxy port. Traffic Server clusters work
+best when configured to use a separate network interface and cluster on a
private
+subnet, so that client machines have no access to the cluster ports. </p>
+<p>_</p>
+<h3 id="Nocopfilemessageinsystemlogfile">'No cop file' message in the system
log file</h3>
+<p>_</p>
+<p>The following message appears repeatedly in the system log file: </p>
+<blockquote>
+<div class="codehilite"><pre><span class="sb">`traffic_cop[16056]: encountered
"config/internal/no_cop" file...exiting`</span>
+</pre></div>
+
+
+</blockquote>
+<p>The file <code>config/internal/no_cop</code> acts as an administrative
control that instructs the <code>traffic_cop</code> process to exit immediately
without starting <code>traffic_manager</code> or performing any health checks.
The <code>no_cop</code> file prevents Traffic Server from starting
automatically when it has been stopped with the
<code>stop_traffic_server</code> command. Without this static control, Traffic
Server would restart automatically upon system reboot. The <code>no_cop</code>
control keeps Traffic Server off until it is explicitly restarted with the <br
/>
+ start_traffic_server command.</p>
+<p>The Traffic Server installation script also creates a<br />
+ no_cop file so that Traffic Server does not start automatically. After
you have completed installation/configuration and have rebooted the operating
system, use the<br />
+ start_traffic_server command to start Traffic Server.</p>
+<p>_</p>
+<h3
id="warning_in_the_system_log_file_when_manually_editing_vaddrsconfig___warninginsystemlogfilewhenmanuallyeditingvaddrsconfig">Warning
in the system log file when manually editing <code>vaddrs.config</code> ###
{#Warninginsystemlogfilewhenmanuallyediting<code>vaddrs.config</code>}</h3>
+<p>_</p>
+<p>If you manually edit the <br />
+ vaddrs.config file as a non-root user, then Traffic Server issues a
warning message in the system log file similar to the following:</p>
+<blockquote>
+<div class="codehilite"><pre> <span class="n">WARNING:</span> <span
class="n">interface</span> <span class="n">is</span> <span
class="n">ignored:</span> <span class="n">Operation</span> <span
class="ow">not</span> <span class="n">permitted</span>
+</pre></div>
+
+
+</blockquote>
+<p>You can safely ignore this message; Traffic Server <em>does</em> apply your
configuration
+edits. </p>
+<p>_</p>
+<h3
id="nontransparent_requests_fail_after_enabling_always_query_destination__nontransparentrequestsfailafterenablingalwaysquerydestination">Nontransparent
requests fail after enabling <code>always_query_destination</code> ###
{#Nontransparentrequestsfailafterenabling<code>alwaysquerydestination</code>}</h3>
+<p>_</p>
+<p>The variable <br />
+ proxy.config.arm.always_query_dest in the <br />
+ records.config file configures Traffic Server in transparent mode to
ignore host headers and always ask for the IP address of the origin server.
When you enable this variable, Traffic Server obtains the origin server IP
address from the existing NAT map list rather than trying to resolve the
destination hostname with a DNS lookup. As a result, logged URLs contain only
IP addresses and no hostnames. However, explicit requests (nontransparent
requests, including requests on port 80) fail, as there is no matching map in
the NAT list. The <code>always_query_destination</code> option works only on
the primary proxy port.</p>
+<p>_</p>
+<h3 id="TSisrunningbutnologfilesarecreated">Traffic Server is running but no
log files are created</h3>
+<p>_</p>
+<p>Traffic Server only writes event log files when there is information to
record.
+If Traffic Server is idle, then it's possible/probable that no log files
exist.
+In addition: </p>
+<p>Make sure you're looking in the correct directory. By default, Traffic
Server creates log files in the<br />
+ logs directory.
+Check the location of log files by checking the value of the variable <br />
+ proxy.config.log.logfile_dir in the<br />
+ records.config file. Check that the log directory has read/write
permissions for the Traffic Server user account. If the log directory does not
have the correct permissions, then the <br />
+ traffic_server process is unable to open or create log files.
+Check that logging is enabled by checking the value of the<br />
+ proxy.config.log.logging_enabled variable in the<br />
+ records.config file.
+Check that a log format is enabled. In the<br />
+ records.config file, select the standard or custom format by editing
variables in the <br />
+ Logging Config section.
+_</p>
+<h3 id="TSshowsanerrorindicatingtoomanynetworkconnections">Traffic Server
shows an error indicating too many network connections</h3>
+<p>_</p>
+<p>By default, Traffic Server supports 8000 network connections: half of this
+number is allocated for client connections and the remaining half is for
origin
+server connections. A <strong>connection throttle event</strong> occurs when
client or origin
+server connections reach 90% of half the configured limit (3600 by default).
+When a connection throttle event occurs, Traffic Server continues processing
+all existing connections but will not accept new client connection requests
+until the connection count falls below the limit. </p>
+<p>Connection throttle events can occur under the following conditions:</p>
+<ul>
+<li>If there is a <strong>connection spike</strong> (e.g., if thousands of
client requests all reach Traffic Server at the same time). Such events are
typically transient and require no corrective action.</li>
+<li>If there is a <strong>service overload</strong> (e.g., if client requests
continuously arrive faster than Traffic Server can service them). Service
overloads often indicate network problems between Traffic Server and origin
servers. Conversely, it may indicate that Traffic Server needs more memory,
CPU, cache disks, or other resources to handle the client load.</li>
+</ul>
+<p>If necessary, you can reset the maximum number of connections supported by
Traffic Server by editing the value of the
<code>_proxy.config.net.connections_throttle _</code> configuration variable in
the <br />
+ records.config file. Do not increase the connection throttle limit unless
the system has adequate memory to handle the client connections required. A
system with limited RAM might need a throttle limit lower than the default
value. Do not set this variable below the minimum value of 100.</p>
+<p>_</p>
+<h3 id="Lowmemorysymptoms">Low memory symptoms</h3>
+<p>_</p>
+<p>Under heavy load, the Linux kernel can run out of RAM. This low memory
condition
+can cause slow performance and a variety of other system problems. In fact,
+RAM exhaustion can occur even if the system has plenty of free swap space. </p>
+<p>Symptoms of extreme memory exhaustion include the following messages in the
+system log files (<code>/var/log/messages</code>):</p>
+<blockquote>
+<div class="codehilite"><pre><span class="sb">`WARNING: errno 105 is ENOBUFS
(low on kernel memory), consider a memory upgrade`</span>
+
+<span class="sb">`kernel: eth0: can't fill rx buffer (force 0)!`</span>
+
+<span class="sb">`kernel: recvmsg bug: copied E01BA916 seq E01BAB22`</span>
+</pre></div>
+
+
+</blockquote>
+<p>To avoid memory exhaustion, add more RAM to the system or reduce the load
+on Traffic Server.</p>
+<p>_</p>
+<h3 id="Connectiontimeoutswithoriginserver">Connection timeouts with the
origin server</h3>
+<p>_</p>
+<p>Certain origin servers take longer than 30 seconds to post HTTP requests,
which results in connection timeouts with Traffic Server. To prevent such
connection timeouts, you must change the value of the configuration variable
<br />
+ proxy.config.http.connect_attempts_timeout in the <br />
+ records.config file to 60 seconds or more.</p>
+<p>_</p>
+<h3 id="IBMWebserversdonotworkwithTS">IBM Web servers do not work with Traffic
Server</h3>
+<p>_</p>
+<p>IBM web servers do not support the TLS (Transport Layer Security) protocol.
+For IBM web servers to work with Traffic Server, you must edit a configuration
+variable. </p>
+<h4 id="configureTSworkwithIBMwebservers">To configure Traffic Server to work
with IBM web servers:</h4>
+<ol>
+<li>In a text editor, open the <code>records.config</code> file located in the
Traffic Server <code>config</code> directory.</li>
+<li>Edit the following configuration variable: <br />
+**</li>
+</ol>
+<p>Variable
+ <strong> </strong></p>
+<p>Description
+ ** </p>
+<dl>
+<dt>_</dt>
+<dt> <code>proxy.config.ssl.TLSv1</code>_</dt>
+<dd>
+<div class="codehilite"><pre> <span class="n">Set</span> <span
class="n">this</span> <span class="n">variable</span> <span class="n">to</span>
<span class="sb">`**0**`</span> <span class="p">(</span><span
class="n">zero</span><span class="p">)</span><span class="o">.</span>
+</pre></div>
+
+
+</dd>
+</dl>
+<ol>
+<li>Save and close the<br />
+ records.config file.</li>
+<li>Navigate to the Traffic Server <code>bin</code> directory. </li>
+<li>Run the command <br />
+ traffic_line -x to apply the configuration changes._ _<br />
+</li>
+</ol>
</div>
</div>
<div class="fourcol last">