Rocky Linux 8
Sponsored Link

Apache httpd : mod_http2 の設定
2021/08/03
 
[mod_http2] を設定して HTTP/2 を有効にします。
[1]
事前に SSL/TLS の設定を実施しておきます
(クライアント側の多くの Web ブラウザーは HTTPS でのみ HTTP/2 をサポート)
[2] RHEL 8 / Rocky Linux 8 では [mod_http2] は [httpd] との依存関係でインストールされますが、もしインストールされていない場合はインストールしておきます。
[root@www ~]#
dnf -y install mod_http2
[3] [mod_http2] の設定です。
設定をしたい対象のバーチャルホストごとに設定可能です。
# [mod_http2] モジュールはデフォルトで有効化される

[root@www ~]#
cat /etc/httpd/conf.modules.d/10-h2.conf

LoadModule http2_module modules/mod_http2.so
# 設定したい任意のバーチャルホスト定義内に設定

[root@www ~]#
vi /etc/httpd/conf.d/dlp.srv.world.conf
# [Protocols] 行を追記

<VirtualHost *:443>
    Protocols h2 http/1.1
    DocumentRoot "/var/www/dlp"
    ServerName dlp.srv.world:443
    ErrorLog logs/dlp_ssl_error_log
    TransferLog logs/dlp_ssl_access_log
    LogLevel warn
    SSLEngine on
    SSLHonorCipherOrder on
    SSLCipherSuite PROFILE=SYSTEM
    SSLProxyCipherSuite PROFILE=SYSTEM
    SSLCertificateFile /etc/letsencrypt/live/dlp.srv.world/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/dlp.srv.world/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/dlp.srv.world/chain.pem
</VirtualHost>

[root@www ~]#
systemctl restart httpd
# アクセスして確認

# [HTTP/2] となっていれば OK

[root@www ~]#
curl -I https://dlp.srv.world/

HTTP/2 200
date: Tue, 03 Aug 2021 01:17:59 GMT
server: Apache
last-modified: Mon, 02 Aug 2021 23:39:23 GMT
etag: "82-5c89c1436c764"
accept-ranges: bytes
content-length: 130
content-type: text/html; charset=UTF-8
  Web ブラウザーでのアクセス時でもレスポンスヘッダーで確認できます。下例は Chrome の場合です。
HTTP/2 が有効となっている場合、レスポンスヘッダーの [Protocol] が [h2] になります。
関連コンテンツ