Ubuntu 14.04でApache Traffic Serverをリバースプロキシとして設定する方法

前書き

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

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

前提条件

このチュートリアルを実行するには、次のものが必要です。

ステップ1-Traffic Serverのインストール

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

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

Traffic Serverはデフォルトでポート8080でリッスンします。 ブラウザを使用して、 `+ http://:8080 / +`にアクセスできます。 ただし、まだ設定していないため、エラーが表示されます。

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

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

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

sudo apt-get install apache2

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

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

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

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

sudo nano /etc/apache2/ports.conf

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

ports.conf

Listen

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

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

sudo nano /etc/apache2/apache2.conf

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

apache2.conf

ServerName localhost

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

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

sudo service apache2 restart

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

ステップ4-Traffic Serverをリバースプロキシとして設定する

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

sudo nano /etc/trafficserver/remap.config

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

remap.config

map http://:8080/ http://127.0.0.1:80/

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

新しいマッピングルールを有効にするには、 `+ traffic_line `の ` reread_config +`コマンドを使用します。

sudo traffic_line --reread_config

ブラウザを開き、「+ http://:8080 / +」にアクセスします。 Apacheのウェルカムページが表示されたら、Traffic Serverをリバースプロキシとして正常に設定できています。

ステップ5-すべてをキャッシュするためのTraffic Serverの設定

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

すべてのHTTP応答をキャッシュするようにTraffic Serverを設定するには、 `+ proxy.config.http.cache.required_headers `と呼ばれる設定変数の値を* 0 *に変更する必要があります。 これは、 ` traffic_line `の ` set_var +`コマンドを使用して実行できます。

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

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

sudo traffic_line --reread_config

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

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

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

ツールを有効にするには、 `+ proxy.config.http_ui_enabled +`構成変数の値を* 1 *に設定します。

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

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

sudo nano /etc/trafficserver/remap.config

Cache Inspectorを「+ / inspect +」で利用できるようにします。 これを行うには、ファイルの* top *に次の行を追加します。

remap.config

map http://:8080/inspect http://{cache}

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

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

sudo service trafficserver restart

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

image:https://assets.digitalocean.com/articles/traffic_server/ajEXtig.png [キャッシュインスペクターのホームページ]

次に、* Lookup url *リンクをクリックします。

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

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

image:https://assets.digitalocean.com/articles/traffic_server/VFzMcc3.png [キャッシュされたドキュメントの詳細]

結論

これで、Ubuntu 14.04にApache Traffic Serverをインストールし、キャッシングリバースプロキシとして構成する方法がわかりました。 このチュートリアルではWebサーバーとしてApacheを使用しましたが、他のWebサーバーも同様に簡単に使用できます。 Traffic Serverの詳細については、https://docs.trafficserver.apache.org/en/latest/admin/index.en.html [管理者ガイド]をご覧ください。

Related