序章

Apache Traffic Server は、非常に低いレイテンシーを維持しながら、大量の同時リクエストを処理できる、拡張性の高いキャッシングプロキシサーバーです。 VarnishやSquidなどの他の一般的なプロキシサーバーと比較すると、通常、消費するメモリが少なく、応答が速くなります。 また、最新のマルチコアプロセッサを最大限に活用するように設計されています。 要件に応じて、リバースプロキシまたはフォワードプロキシとして使用できます。

このチュートリアルでは、Ubuntu14.04にApacheTraffic Serverをインストールし、キャッシングリバースプロキシとして動作するように構成する方法について説明します。

前提条件

このチュートリアルに従うには、次のものが必要です。

ステップ1—トラフィックサーバーのインストール

TrafficServerはUbuntu14.04のデフォルトのリポジトリで利用できるため、apt-getを使用してインストールできます。 更新する前に、必ずパッケージインデックスファイルを更新してください。

  1. sudo apt-get update && sudo apt-get install trafficserver

トラフィックサーバーは、デフォルトでポート8080でリッスンします。 これで、ブラウザを使用してhttp://your_server_ip:8080/にアクセスできます。 ただし、まだ構成していないため、エラーが表示されます。

ステップ2—Webサーバーのインストール

定義上、プロキシサーバーは外部ユーザーとWebサーバーの間の仲介役として機能します。 したがって、Traffic Serverの設定を開始する前に、ApacheHTTPServerなどのWebサーバーをマシンにインストールする必要があります。

apt-getを使用してApacheをインストールして起動します。

  1. sudo apt-get install apache2

これで、ブラウザーを使用してhttp://your_server_ip/にアクセスし、Apacheのウェルカムページを表示できます。

手順3—Webサーバーへのリモートアクセスを無効にする

Apacheは、デフォルトですべてのネットワークインターフェイスで接続を受け入れます。 ループバックインターフェイスでのみ接続を受け入れるように設定することで、リモートユーザーがアクセスできないようにすることができます。

nanoまたはお好みのテキストエディタを使用してports.confを開きます。

  1. sudo nano /etc/apache2/ports.conf

Listen 80ディレクティブを含む行を検索し、次のように変更します。

ports.conf
Listen	127.0.0.1:80

ファイルを保存して終了します。

次に、apache2.confを開きます。

  1. sudo nano /etc/apache2/apache2.conf

ファイルの最後に次の行を追加します。

apache2.conf
ServerName localhost

ファイルを保存して閉じます。

設定の変更を適用するには、次のコマンドを使用してApacheを再起動します。

  1. sudo service apache2 restart

ブラウザを使用してhttp://your_server_ip/に再度アクセスしてみてください。 サーバーへのリモートアクセスをブロックしたため、ブラウザにエラーが表示されるはずです。

ステップ4—トラフィックサーバーをリバースプロキシとして構成する

このステップでは、TrafficServerをリバースプロキシとして構成します。 これを行うには、remap.configを開きます。これは、TrafficServerのマッピングルールを定義するために編集する必要のあるファイルです。

  1. sudo nano /etc/trafficserver/remap.config

ポート8080のサーバーのIPアドレスへのすべての要求がWebサーバーのローカルアドレスとポートにマップされるという簡単なルールを作成しましょう。 これを行うには、ファイルの最後に次の行を追加します。

remap.config
map http://your_server_ip:8080/ http://127.0.0.1:80/

ファイルを保存して終了します。

新しいマッピングルールをアクティブにするには、traffic_linereread_configコマンドを使用します。

  1. sudo traffic_line --reread_config

ブラウザを開き、http://your_server_ip:8080/にアクセスします。 ここでApacheのウェルカムページを表示できる場合は、TrafficServerをリバースプロキシとして正常に構成しています。

ステップ5—すべてをキャッシュするようにTrafficServerを構成する

デフォルトでは、Traffic Serverは、アイテムをキャッシュに保存する期間を明示的に指定するCache-ControlまたはExpiresヘッダーが含まれている場合にのみHTTP応答をキャッシュします。 ただし、Webサーバーは静的ファイルのみを提供しているため、すべての応答をキャッシュしても安全です。

すべてのHTTP応答をキャッシュするようにTrafficServerを構成するには、proxy.config.http.cache.required_headersという構成変数の値を0に変更する必要があります。 これは、traffic_lineset_varコマンドを使用して実行できます。

  1. sudo traffic_line --set_var proxy.config.http.cache.required_headers --value 0

reread_configフラグを使用して変更を適用します。

  1. sudo traffic_line --reread_config

ブラウザを開き、http://your_server_ip:8080/に再度アクセスします。 これにより、ApacheウェルカムページがTrafficServerのキャッシュに保存されます。

ステップ6—キャッシュの検査

Traffic Serverのキャッシュの内容を表示するには、Webベースのインターフェイスを備えたCacheInspectorと呼ばれるツールを使用できます。

ツールをアクティブにするには、proxy.config.http_ui_enabled構成変数の値を1に設定します。

  1. sudo traffic_line --set_var proxy.config.http_ui_enabled --value 1

次に、アクセスに使用するパスを指定するマッピングルールを作成します。 nanoを使用して、remap.configを再度開きます。

  1. sudo nano /etc/trafficserver/remap.config

キャッシュインスペクターを/inspectで利用できるようにしましょう。 これを行うには、ファイルのtopに次の行を追加します。

remap.config
  1. map http://your_server_ip:8080/inspect http://{cache}

ファイルを保存して終了します。

変更を適用するには、TrafficServerを再起動します。

  1. sudo service trafficserver restart

これで、キャッシュインスペクターを使用する準備が整いました。 ブラウザを開き、http://your_server_ip:8080/inspect/にアクセスします。 次のようなページが表示されます。

Cache Inspector's home page

次に、 Lookupurlリンクをクリックします。

これで、テキストフィールドにURLを入力し、 Lookup ボタンをクリックして、それがキャッシュに保存されているかどうかを確認できます。

たとえば、http://your_server_ip:8080/と入力して、Webサーバーのホームページがキャッシュから提供されているかどうかを確認できます。 そうである場合は、次のようなページが表示されます。

Cached document details

結論

これで、Ubuntu14.04にApacheTraffic Serverをインストールし、それをキャッシングリバースプロキシとして構成する方法をマスターしました。 このチュートリアルではWebサーバーとしてApacheを使用しましたが、他のWebサーバーと同じように簡単に使用できます。 Traffic Serverの詳細については、管理者ガイドを参照してください。