Apache HTTP Server の HTTP2の有効化

はじめに

Apache HTTP Server のHTTP2を有効化してみました。その際の作業記録です。

事前確認

バージョン情報

  • Amazon Linux 2
  • Apache HTTP Server 2.4.34

HTTP2有効化前のcurlコマンド結果

以下の通り、curlコマンド結果を見るとHTTP1.1で通信しています。

[root@hostname httpd]# curl -I --http2 https://www.kannon.link/fuku
HTTP/1.1 301 Moved Permanently
Date: Sat, 01 Sep 2018 04:47:23 GMT

HTTP2有効化前のerror_log

mpmでpreforkモジュールが設定されているとHTTP2が無効化されると言われています。
なので、mpmをprefork以外に設定する必要があります。

[Sat Sep 01 04:33:00.211492 2018] [http2:warn] [pid 6538] AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm determines how things are processed in your server. HTTP/2 has more demands in this regard and the currently selected mpm will just not do. This is an advisory warning. Your server will continue to work, but the HTTP/2 protocol will be inactive.

以上の確認事項を踏まえて、HTTP2有効化設定をしていきます。

HTTP2有効化手順

1. httpd停止

systemctl stop httpd

2. MPMの設定変更

mpm_prefork_module をコメントアウトし、mpm_event_module を有効化します。

vi /etc/httpd/conf.modules.d/00-mpm.conf

...
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
...
LoadModule mpm_event_module modules/mod_mpm_event.so

3. Protocols属性変更

VirtualHostタグにProtocols h2 … を記載します。

vi /etc/httpd/conf.d/ssl.conf

...
<VirtualHost>
  Protocols h2 http/1.1
...

4. httpd起動

systemctl start httpd

5. HTTP2有効化後のcurlコマンド結果

以下の通り、HTTP2で接続できています。

[root@ip-172-31-10-89 httpd]# curl -I --http2 https://www.kannon.link/fuku
HTTP/2 301
date: Sat, 01 Sep 2018 04:52:57 GMT
...

 

参考情報

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA