Frequently Asked Questions

Welcome to the Apache Traffic Server FAQ.
Below is a list of frequently asked questions pertaining to Apache Traffic Server.

  1. What Platforms does Traffic Server support
  2. 'sudo make install' fails with '/usr/bin/install: invalid group nobody'
  3. How do I enable forward proxy mode?
  4. How do I access POST data in a Traffic Server plugin
  5. How do I enable DNS lookups?
  6. How do I enable SSL between Client/ATS/Origin end points?
  7. What happens if Traffic Server crashes?
  8. Do you have any sample configuration files?
  9. How do I profile Traffic Server's performance?
  10. How do get detailed logs for particular requests served by Traffic Server?
  11. How to enable cache inspector and others in http_ui?
  12. How do I setup a RAW disk cache?
  13. How do I know what debug tags are available?
  14. More questions?

What Platforms does Traffic Server support
  • Linux is the primary platform supported.
  • For other distributions such as FreeBSD, Mac OSX and OpenSolaris see README

'sudo make install' fails with '/usr/bin/install: invalid group nobody'
  • The default installed user is 'nobody' and the default group is 'nobody'.
  • You can specify the installed group via:
shell
# It is very important to do a clean uninstall and distclean before
# re-configuring, re-building, and re-installing after the failed
# first install.
sudo make uninstall
sudo make distclean
configure i.e './configure --with-group=nogroup'

How do I enable forward proxy mode?
  • 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, go ahead and enable:
    trafficserver/records.config
        # Set this variable to 1 if you want Traffic Server to serve 
        # requests only from origin servers listed in the mapping rules
        # of the remap.config file. If a request does not match, then 
        # the browser will receive an error.
        CONFIG proxy.config.reverse_proxy.enabled INT 0
        CONFIG proxy.config.url_remap.remap_required INT 0
    

How do I access POST data in a Traffic Server plugin

How do I enable DNS lookups?
  • Edit records.config and enable round_robin along with specifying your nameservers. For example:
    trafficserver/records.config
        # Enables (1) or disables (0) DNS server round-robin.
        CONFIG proxy.config.dns.round_robin_nameservers INT 1
    
        #The DNS servers.
        CONFIG proxy.config.dns.nameservers STRING 10.0.0.1 192.172.0.4
    

How do I enable SSL between Client/ATS/Origin end points?

What happens if Traffic Server crashes?
  • it is automatically restarted by the Traffic Manager
  • if you turn off cores (limit coredumpsize 0) you can prevent disk full errors on crash loops

Do you have any sample configuration files?

Yes we do, see the sample configuration page.

How do i profile Traffic Server's performance

Visit the Profiling page for more information.

How do get detailed logs for particular requests served by Traffic Server?

You can set
CONFIG proxy.config.http.slow.log.threshold INT
in records.config to see various time milestones for HTTP requests in the error log. The value is in milliseconds, requests that take longer than that value will generate a slow log entry.

How to enable cache inspector and others in http_ui?

http_ui is a cache inspector for TS internal system, a Swiss knife tool for TS, you can setup http_ui by:

  1. add these remap rules to remap.config, you may need to replace localhost to your own hostname if you don't access from localhost, you may need to modify the default port 8080 if you have changed it
    remap.config
        map http://localhost:8080/cache-internal/ http://{cache-internal}
        map http://localhost:8080/cache/ http://{cache}
        map http://localhost:8080/stat/ http://{stat}
        map http://localhost:8080/test/ http://{test}
        map http://localhost:8080/hostdb/ http://{hostdb}
        map http://localhost:8080/net/ http://{net}
        map http://localhost:8080/http/ http://{http}
    
  2. enable http_ui from records.config, we use command line tool here:
    command
        traffic_line -s proxy.config.http_ui_enabled -v 3
        traffic_line -s proxy.config.http.enable_http_info -v 1
    
  3. get traffic_server aware of the change:
    command
        traffic_line -x
    
  4. testing with nc:
    command
        echo -ne "GET http://localhost/stat/ HTTP/1.0\r\n\r\n" | nc -i 1 localhost 8080
    

How do I setup a RAW disk cache?

RAW disk cache is specified in storage.config using the physical /dev device with no additional parameters provided you run a recent kernel.

storage.config
    /dev/dm-2

You must also ensure the trafficserver user owns the device and has block-level access. To do this we utilize udev rules. This must be a physical device and not an LVM mapping:

50-ats.rules
    # /etc/udev/rules.d/50-ats.rules
    # Apache Traffic Server owns disk for RAW access
    KERNEL=="dm-2", OWNER="trafficserver"

How do I know what debug tags are available?

When enabling debug logging, you specify tags to filter the debug output with the proxy.config.diags.debug.tags option. The following command will show you all debug tags used in the trafficserver source code when outputting debug messages. Run it from inside the trafficserver source tree:

# This assumes gnu grep
grep -orh 'Debug("[^"]*' * | sort | uniq | sed 's/Debug("//'

More Frequently Asked Questions?

1 Comment

  1. Anonymous

    Can we still use the web ui function in the latest version?
    As we know, we can manage the traffic server by the web ui manager when we used the version 2.x, but, after the 2.1.x, the webui part had been removed and there is someone told us that the new web ui will be developed by use of PHP.
    So, my question is when will we can see that new web ui?

    thanks,
    Ji