そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

AlmaLinux 8のApache2 httpdにHTTP/2を設定する手順

※[PR]当ブログの記事の中にはプロモーションが含まれています。

・AlmaLinux 8+Apache2の環境で「HTTP/2」を有効にするとパフォーマンスが向上すると聞きました。
・「HTTP/2」を設定する手順を具体的に教えてほしい。

こういった疑問に答えます。

本記事の内容

  1. AlmaLinux 8のApache2 httpdにHTTP/2を設定する手順

サトナカ (@souiunogaii)

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

こういった私が、解説していきます。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

AlmaLinux 8のApache2 httpdにHTTP/2を設定する手順

「HTTP/2」の前提知識

「HTTP/2」は、従来の通信プロトコル「HTTP/1.1」をバージョンアップした新しい通信プロトコルです。

以下の記事に、詳しい説明が書かれています。

web.dev

要するに、「HTTP/2」では、表示速度や処理速度が向上します。
ということなので、SEO対策のためにも、最近のWEBサイトでは「HTTP/2」の有効化が必須になってきています。

手順① Apache httpdに設定されているMPMの確認

httpd -M | grep mpm
[root@SV-ALTAIR ~]# httpd -M | grep mpm
 mpm_event_module (shared)
httpd -M | grep http2
[root@SV-ALTAIR ~]# httpd -M | grep http2
 http2_module (shared)
 proxy_http2_module (shared)

手順② バーチャルホスト用のconf編集

vi /etc/httpd/conf.d/test01.sv-altair.planet.space.com.conf
## VirtualHost01 test01.sv-altair.planet.space.com
<VirtualHost *:80>
ServerName test01.sv-altair.planet.space.com
ServerAlias www.test01.sv-altair.planet.space.com
ServerAdmin webmaster@test01.sv-altair.planet.space.com
DocumentRoot "/home/www/html/test01"
 
<Directory "/home/www/html/test01">
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>
 
ErrorLog logs/test01.sv-altair.planet.space.com-error_log
CustomLog logs/test01.sv-altair.planet.space.com-access_log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =test01.sv-altair.planet.space.com[OR]
RewriteCond %{SERVER_NAME} =www.test01.sv-altairplanet.space.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
Protocols h2 http/1.1    ←★★追加
SSLEngine on
ServerName test01.sv-altair.planet.space.com:443
ServerAlias www.test01.sv-altair.planet.space.com:443
SSLHonorCipherOrder on
SSLCipherSuite PROFILE=SYSTEM
SSLProxyCipherSuite PROFILE=SYSTEM
DocumentRoot "/home/www/html/test01"
SSLCertificateFile /etc/letsencrypt/live/test01.sv-altair.planet.space.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/test01.sv-altair.planet.space.com/privkey.pem
<Directory "/home/www/html/test01">
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>
ErrorLog logs/test01.sv-altair.planet.space.com-ssl-error_log
TransferLog logs/test01.sv-altair.planet.space.com-ssl-access_log
LogLevel warn
</VirtualHost>

手順③ httpdを再起動して設定を反映

[root@SV-ALTAIR ~]# httpd -t
Syntax OK
[root@SV-ALTAIR ~]# systemctl restart httpd

手順④ ブラウザのデベロッパーツールで確認