Red Hat Enterprise Linix 9 に http/3 対応の Web サーバー(OpenLiteSpeed)を構築する

conoha Linux
スポンサーリンク

前回からだいぶ間が空いてしまいましたが、RHEL9 に Web サーバーを導入していきます。

ちょうど最近 OpenLiteSpeed のリポジトリに CentOS 9 用が追加されていましたので、今回は LiteSpeed で構築し、http/3 にも対応させようと思います。

OpenLiteSpeed の導入手順

リポジトリの追加

基本的に公式サイトの手順通りに進めれば問題ありません。

Install OLS from LiteSpeed Repositories – OpenLiteSpeed

epel リポジトリは導入済みなのでスキップしましたが、まだの方は下記コマンドを実行してください。

準備が整ったら OpenLiteSpeed をインストールします。

GPG 鍵のインポートが必要な場合は「Y」でインポートしてください。

※インストールするとサービスが自動的に起動し、OS 起動時の自動実行にも追加されるので systemctl で start や enable は必要ありませんでした。

ファイヤーウォールの設定

OLS の管理画面は 7080 ポートを使用するため、管理者のみアクセスできるようにファイヤーウォールの設定を変更します。

また、HTTP/3 を有効にするためには UDP の 443 ポートも開放する必要があります。

上記を参考に nftables の設定ファイルを修正し、サービスをリスタート(systemctl restart nftables.service)してください。

OLS 管理画面から各種設定

管理画面にログイン

初期パスワードは /usr/local/lsws/adminpasswd に記載されていますので、下記コマンドで参照できます。

ログインできたら、右上の「English」の部分をクリックして、日本語に変更しておきましょう。

また、最初にやっておく事として WebAdminの設定 > 一般 > ユーザー > 編集 と辿っていき、管理者パスワードを変更しておきましょう。

http ポートを 80 に変更

OLS の http ポートはデフォルトで 8088 ポートなので、80 番に変更していきます。

左のメニューから「リスナー」を開き、Default リスナーの「アクション」の項目にある虫眼鏡のアイコン(表示)をクリックします。

Default リスナーの一般設定が開きますので、アドレス設定の右にある編集ボタンをクリックします。

アドレス設定画面が開きますので、ポートを 80 に変更して保存します。

OLS を再起動し、ブラウザの新しいタブで「http://IPアドレス」にアクセスしてみます。

初期画面が表示されたら設定完了です。

SSL 証明書の取得

今回はこの手順は省略しますので、過去の記事などを参照してください。

ConoHa のユーザーなら API を使ったワイルドカード証明書がお勧めです。

VPS 割引きっぷを使っている方は、アルファ SSL でも大丈夫です。

SSL 用リスナーの追加

再び OLS の管理画面から「リスナー」を選択し、リスナーリストを追加します。

ここではリスナー名を「SSL」とし、ポートを「443」に指定、セキュアを「はい」にして保存しました。

続いて SSL のタブに移動し SSL 秘密鍵 & 証明書の項目に、先ほど Let's Encrypt で取得した鍵と証明書を指定して保存します。

  • 秘密鍵ファイル:/etc/letsencrypt/live/ドメイン名/privkey.pem
  • 証明書ファイル:/etc/letsencrypt/live/ドメイン名/fullchain.pem
  • 証明書チェーン:はい

SSL プロトコルの編集画面で TLS v1.2 と TLS v1.3 にチェックを入れて保存します。

暗号の欄は空白にしておく事で、ベストプラクティスに従ったデフォルトの暗号を使用してくれるそうなので、下手に入力しない方が良さそうです。

セキュリティ & 機能の編集画面で下記のように設定します。

  • SSL再交渉保護:はい
  • ALPN:SPDY/3HTTP/2HTTP/3 にチェックを入れる

保存して OLS を再起動しましょう。

バーチャルホストの追加

続いてバーチャルホストを追加します。

Virtual Host Root はどこでも良いのですが、設定ファイルは「$SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf」にするのが推奨されているので、その通りにしました。

※保存しようとすると警告が出ますので、「CLICK TO CREATE」をクリックして設定ファイルを作成します。

作製したバーチャルホストのコンテキストに移動し、HSTS(HTTP Strict Transport Security)の設定をしておきます。

  • URI:/
  • 場所:$DOC_ROOT/
  • アクセス可能:はい
  • Header Operations:Header always set Strict-Transport-Security "max-age=31536000"

リスナーにバーチャルホストを紐づける

再びリスナーの項目に移動し、SSL に対して作成したバーチャルホストをマップします。

保存して OLS を再起動すれば、設定完了です。

Virtual Host Root にテスト用のファイルを設置し、「https://ドメイン名」でアクセスできることを確認してください。

http/3 で通信できているか確認する

http/3 通信ができているかチェックしてくれるサイトがあるので、そちらを利用してみます。

HTTP/3 Check
IsmysiteusingHTTP3?CheckHTTP3serviceonanyURL.TestQUICservice,too.

ドメインを入力して CHECK ボタンをクリックするだけで、簡単に診断することができます。

QUIC と HTTP/3 の両方に対応していることが確認できました。

SSL の安全性について確認する

Qualys SSL Labs で、SSL の安全性についても確認をしておきましょう。

SSL Server Test (Powered by Qualys SSL Labs)
AcomprehensivefreeSSLtestforyourpublicwebservers.

評価 A+ なので安心ですね。

以上で基本的な OpenLiteSpeed の設定は完了です。

コメント

タイトルとURLをコピーしました