1.2. Apache HTTP Server への主な変更点
Apache HTTP Server が、RHEL 7 のバージョン 2.4.6 から、RHEL 8 のバージョン 2.4.37 に更新されました。この更新バージョンには新機能がいくつか含まれていますが、外部モジュールの設定および Application Binary Interface (ABI) のレベルでは、RHEL 7 バージョンとの後方互換性を維持します。
新機能は次のとおりです。
-
httpdモジュール含まれるmod_http2パッケージにより、HTTP/2に対応するようになりました。 -
systemd ソケットのアクティベーションが対応します。詳細は、man ページの
httpd.socket(8)を参照してください。
新しいモジュールが複数追加されています。
-
mod_proxy_hcheck- プロキシーのヘルスチェックモジュール -
mod_proxy_uwsgi- Web Server Gateway Interface (WSGI) プロキシー -
mod_proxy_fdpass- クライアントのソケットを別のプロセスに渡す -
mod_cache_socache- HTTP キャッシュ (例: memcache バックエンドを使用) -
mod_md- ACME プロトコルの SSL/TLS 証明書サービス
-
以下のモジュールはデフォルトで読み込まれるようになりました。
-
mod_request -
mod_macro -
mod_watchdog
-
-
新しいサブパッケージ
httpd-filesystemが追加されています。これには、Apache HTTP Server の基本的なディレクトリーレイアウト (ディレクトリーの適切な権限を含む) が含まれます。 -
インスタンス化されたサービスのサポート
httpd@.serviceが導入されました。詳細は、man ページのhttpd.serviceを参照してください。
-
新しい
httpd-init.serviceが%post scriptに置き換わり、自己署名の鍵ペアmod_sslを作成します。
-
(
Let's Encryptなどの証明書プロバイダーで使用するため) 自動証明書管理環境 (ACME) プロトコルを使用した、TLS 証明書の自動プロビジョニングおよび更新に、mod_mdパッケージで対応するようになりました。 -
Apache HTTP Server が、
PKCS#11モジュールを利用して、ハードウェアのセキュリティートークンから、TLS 証明書および秘密鍵を直接読み込むようになりました。これにより、mod_ssl設定で、PKCS#11URL を使用して、SSLCertificateKeyFileディレクティブおよびSSLCertificateFileディレクティブに、TLS 秘密鍵と、必要に応じて TLS 証明書をそれぞれ指定できるようになりました。 /etc/httpd/conf/httpd.confファイルの新しいListenFreeディレクティブに対応するようになりました。Listenディレクティブと同様、ListenFreeは、サーバーがリッスンする IP アドレス、ポート、または IP アドレスとポートの組み合わせに関する情報を提供します。ただし、ListenFreeを使用すると、IP_FREEBINDソケットオプションがデフォルトで有効になります。したがって、httpdは、ローカルではない IP アドレス、または今はまだ存在していない IP アドレスにバインドすることもできます。これにより、httpdがソケットをリッスンできるようになり、httpdがバインドしようとするときに、基になるネットワークインターフェイスまたは指定した動的 IP アドレスを起動する必要がなくなります。ListenFreeディレクティブは、現在 RHEL 8 でのみ利用できます。ListenFreeの詳細は、以下の表を参照してください。Expand 表1.1 ListenFree ディレクティブの構文、状態、およびモジュール 構文 状態 モジュール ListenFree [IP-address:]portnumber [protocol]
MPM
event、worker、prefork、mpm_winnt、mpm_netware、mpmt_os2
その他の主な変更点は次の通りです。
以下のモジュールが削除されました。
-
mod_file_cache mod_nss代わりに
mod_sslを使用します。mod_nssからの移行に関する詳細は、「Apache Web Server 設定で秘密鍵と証明書を使用できるように NSS データベースからの証明書のエクスポート」 を参照してください。-
mod_perl
-
-
RHEL 8 の Apache HTTP Server が使用するデフォルトの DBM 認証データベースのデフォルトタイプが、
SDBMからdb5に変更になりました。 -
Apache HTTP Server の
mod_wsgiモジュールが Python 3 に更新されました。WSGI アプリケーションは Python 3 でしか対応していないため、Python 2 から移行する必要があります。 Apache HTTP Server を使用してデフォルトで設定されたマルチプロセッシングモジュール (MPM) は、マルチプロセスのフォークモデル (
preforkとして知られています) から、高パフォーマンスのマルチスレッドモデルeventに変更しました。スレッドセーフではないサードパーティーのモジュールは、交換または削除する必要があります。設定した MPM を変更するには、
/etc/httpd/conf.modules.d/00-mpm.confファイルを編集します。詳細は、man ページのhttpd.service(8)を参照してください。- suEXEC によりユーザーに許可される最小 UID および GID はそれぞれ 1000 および 500 です (以前は 100 および 100 でした)。
-
/etc/sysconfig/httpdファイルは、httpdサービスへの環境変数の設定に対応するインターフェイスではなくなりました。systemd サービスに、httpd.service(8)の man ページが追加されています。 -
httpdサービスを停止すると、デフォルトで自動停止が使用されます。 -
mod_auth_kerbモジュールが、mod_auth_gssapiモジュールに置き換わりました。