はじめに
この記事は Apache Traffic Server (以下 ATS) で Hypertext Transfer Protocol Version 2 (以下 HTTP/2) を有効にする 最低限 の設定方法をまとめたものです。
Step 0: いつくかの前提
- OpenSSL 1.0.1系 もしくは 1.0.2系
- ATS v6.0.0
- ATS は
HTTP/2 over TLS
のみをサポートしているので、HTTP/2 を有効にするには SSL/TLS の設定が必要です。 -
/usr/local/
下にインストールしてあるとします。 - ATS のビルドとインストールについては Getting Started — Apache Traffic Server documentation を参照してください。
- デフォルトでは
records.config
などの設定ファイルは/usr/local/etc/trafficserver/
下にあります。
- ATS は
Step 1: SSL/TLS の設定
ポートの設定
仮に 4443
ポートで HTTP/2 を受けたいとします。records.config
の proxy.config.http.server_ports
の設定に 4443:ssl
を追加します。
records.config
CONFIG proxy.config.http.server_ports STRING 8080 4443:ssl
証明書の設定
仮にサーバー証明書(example.pem
)と秘密鍵(example.key
)を /usr/local/etc/trafficserver
下に置いているとします。
ssl_multicert.config
に次の設定を追加します。
ssl_multicert.config
ip_dest=* ssl_cert_name=example.pem ssl_key_name=example.key
- 注1:
ssl_cert_name=
,ssl_key_name=
の設定値が相対パスの場合、records.config
のproxy.config.ssl.server.cert.path
の設定値からの相対パスになります。デフォルトでは/usr/local/etc/trafficserver
です。 - 注2: 証明書/秘密鍵を root からのみ読めるようにしている場合
records.config
のproxy.config.ssl.cert.load_elevated
の設定を1
に変更する必要があります。
Step 2: HTTP/2 の設定
records.config
の proxy.config.http2.enabled
の設定を 0
から 1
に変更します。
records.config
CONFIG proxy.config.http2.enabled INT 1
Step 3: 起動
ATS を起動して 4443 ポートにアクセスしてみてください。
$ trafficserver start
設定を書き換えた場合、ATS の再起動もしくは設定のリロードを行ってください。
$ trafficserver restart
or
$ traffic_ctl config reload
- 注3: 設定項目によってはリロードでは反映されず、再起動が必要なものもあります。
See Also
-
SSL/TLS 関連のその他の設定
-
HTTP/2 関連のその他の設定
-
ATS 自体のドキュメント
-
ATS 6.0.0 リリースアナウンス