端くれプログラマの備忘録 Apache [Apache] HTTP/2を設定する

[Apache] HTTP/2を設定する

HTTP/1.1で動いているApacheをHTTP/2に変更する。

HTTP/2モジュールのロード

confの設定を確認。

# vi /etc/httpd/conf.module.d/00-base.conf
LoadModule http2_module modules/mod_http2.so

既に設定されていた。

モジュールがロードされていることを確認。

# httpd -M | grep http2
http2_module (shared)

バーチャルホストの設定

# vi /etc/httpd/conf/httpd.conf
<VirtualHost *:443>
  SSLEngine on
    <IfModule http2_module>
      ProtocolsHonorOrder On
      Protocols h2 http/1.1
    </IfModule>
    DocumentRoot "/var/https/example.com/htdocs/"
    …(省略)…
</VirtualHost>

プロトコル合意順序を有効とし、h2とhttp/1.1の順序とした。

  • h2 – HTTP/2 (TLS)
  • h2c – HTTP/2 (平文)
  • http/1.1
# service httpd configtest
Syntax OK
# service httpd restart

HTTP/2通信されているか確認

ブラウザでサイトにアクセスして、ブラウザの開発者ツールでプロトコルを確認する。

参考サイト

HTTP/2の各種設定 – Apache 2.4系でHTTP/2対応サーバを構築してみるテスト。
https://http2.try-and-test.net/config.html

HTTP/2の特徴 HTTP/1.1との違いについて | REDBOX Labo
https://blog.redbox.ne.jp/http2-cdn.html

【図解】HTTP/2って?HTTP/1.1との違いと導入メリット・課題まとめ | カゴヤのサーバー研究室
https://www.kagoya.jp/howto/webhomepage/http-2/