AWS LightsailでHTTP/2を有効化する


AWS LightsailのWordpressインスタンスではHTTP/2が標準で有効になっていません。しかし、SSL化してHTTPSサイトを作ったのならば、サイトの速度的にも有利なのでHTTP/2を有効化してみます。

AWS Lightsailでは、BitnamiというWordpressを動かすためのパッケージソフトが稼働しています。Bitnamiの公式サイトにHTTP/2を有効化するための手順が掲載されていますので、手順に沿って進めていきます。

⬇️Bitnami公式ドキュメント

手順1 アプローチA or Bを判定する

Bitnamiは日々アップデートされており、利用しているBitnamiバージョンによりHTTP/2を有効化するための手順がアプローチA or アプローチBの2種類あるようです。コマンドを実行する事で、アプローチA or Bを判定します。

以下のコマンドをAWS LightsailのSSHから実行します。
コマンドをコピー&ペーストしてリターンキーを押下します。

test ! -f “/opt/bitnami/common/bin/openssl” && echo “Approach A: Using system packages.” || echo “Approach B: Self-contained installation.”

すると、アプローチA or Bが表示されます。画像では、既にHTTP/2化が終わった環境のためかApproach Aと表示されていますが、HTTP/2化する前はApproach Bと表示されていました。そのため、以下手順はApproach Bとなりますので、ご注意ください。
Enable HTTP:2 Support With Apache approach (A or B)

手順2 Apacheのmod_http2モジュールを有効化する

Apacheのmod_http2を有効化します。SFTP対応ソフトで以下のファイルにアクセスします。「/opt/bitnami/apache2/conf/httpd.conf」ファイルの140行目付近に「#LoadModule http2_module modules/mod_http2.so」と記載されているので、頭にある#を削除して保存します。
Enable HTTP:2 Support With Apache httpd-app.conf

Enable HTTP:2 Support With Apache mod_http2モジュール

手順3 「bitnami.conf」HTTP/2プロトコルに関する記述を追記

/opt/bitnami/apache2/conf/bitnami/bitnami.conf」ファイルに以下の赤字を追記します。

<VirtualHost _default_:80>

Protocols h2 h2c http/1.1
H2Direct on
</VirtualHost>

<VirtualHost _default_:443>

Protocols h2 h2c http/1.1
H2Direct on
</VirtualHost>

具体的には、以下の手順をSSHで実行していきます。

  1. sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami.conf を実行
  2. 「i」キーを押下して、INSERTモードを起動
  3. Protocols h2 h2c http/1.1
    H2Direct on を追記
    該当箇所まで矢印キーで移動して、リターンキーで2行行間を空けた後、コピー&ペーストします。<VirtualHost _default>から</VirtualHost>に囲まれた記述の最後の方に、# END: Support domain renewal when using mod_proxy within Locationという記述があったので、その下の2箇所に追記しました。
  4. 「esc」キーを押下
  5. 「:wq」と入力して実行
    (:wqはファイルを保存してから終了するという意味)
  6. sudo sh /opt/bitnami/ctlscript.sh restart apache を実行

apacheが再起動するとWordpress画面にアクセスできるようになります。再起動する事でmod_http2モジュールが読み込まれ、HTTP/2で通信されるようになります。

手順4 HTTP/2で通信されているか確認

Chromeで確認する方法

デベロッパーツールを起動します。

「Network > All > Protocol」の箇所に「h2」と出ていればHTTP/2通信できています。

GTmetrixで確認する方法

サイト速度測定ツールであるGTmetrixでも確認できます。

サイトを測定後、Structureの項目内に「Use HTTP/2 for all resources」が問題なしと表示されていれば、HTTP/2通信できています。
⬇️HTTP/2通信できていると、こんな表示になります。

まとめ

AWS Lightsailは手軽にWordpressを起動することができますが、HTTP/2通信をさせたい!など細かい事にこりだすと、結構大変です(笑)この記事が誰かの役に立てば幸いです。
⬇️参考にさせていただいたサイト


コメントを残す

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