15.3. Web サーバー
15.3.1. 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#11
URL を使用して、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
の詳細は、以下の表を参照してください。表15.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 サーバー設定で秘密鍵と証明書を使用できるように 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
モジュールに置き換わりました。
デプロイ方法は Apache HTTP Web サーバーの設定 を参照してください。
15.3.2. nginx
Web サーバーが RHEL に新登場
RHEL 8 では、HTTP などのプロトコルに対応する Web サーバーおよびプロキシーサーバー nginx 1.14
が導入され、同時実行性とパフォーマンスが高くなり、メモリー使用量が少なくなりました。nginx
は、以前は、Software Collection からしか入手できませんでした。
nginx
の Web サーバーは、PKCS#11
モジュールを利用してハードウェアセキュリティートークンから直接 TLS 秘密鍵を読み込むようになりました。これにより、nginx
設定で、PKCS#11
の URL を使用して TLS 秘密鍵を ssl_certificate_key
ディレクティブに指定できるようになりました。
15.3.3. Apache Tomcat は RHEL 8.0 で削除され、RHEL 8.8 で再導入される
Apache Tomcat サーバーは Red Hat Enterprise Linux 8.0 から削除され、RHEL 8.8 で再導入されました。Tomcat は、Java Servlet および JavaServer Pages テクノロジーの公式リファレンス実装で使用されるサーブレットコンテナーです。Java Servlet および JavaServer Pages の仕様は、Java Community Process に基づいて Sun によって開発されました。Tomcat はオープンな参加型環境で開発され、Apache ソフトウェアライセンスバージョン 2.0 に基づいてリリースされています。
サーブレットコンテナーを必要とする RHEL 8.8 より前のマイナーバージョンのユーザーは、JBoss Web Server を使用できます。