Web サイトを稼働させたら、セキュリティ、可用性、信頼性を確保するために取り組むべき重要な点があります。まず最初にロード バランサーを構成します。HAProxy が信頼できるオプションであることが証明されています。 HAProxy は、リバース プロキシとして機能しながら負荷分散を処理します。 HAProxy を導入した場合でも、HTTPS でトランザクションを暗号化してトラフィックを保護する必要があります。 SSL/TLS 暗号化を使用して Web サーバーをすばやく保護できます。これにより、サーバーとクライアント デバイス間のデータが安全に送信され、データの整合性が実現されます。 HAProxy を SSL で保護する方法については、この記事を読んでください。
SSL暗号化はどのように機能しますか?
Let’s Encrypt などのオプションのおかげで、Web サイト暗号化用の無料 SSL/TLS 証明書を取得できるようになりました。 Let’s Encrypt は、ライブ ドメインに対して 90 日間有効な無料の SSL/TLS 証明書を提供する無料のオープン認証局です。これらの証明書を使用すると、サーバーとクライアント間の Web トラフィックが HTTPS として送信されます。そうすることで、ハッカーがトラフィックを盗聴したり、共有データの整合性を操作したりすることができなくなります。
Let’s Encrypt は無料であるだけでなく、自動化もサポートしています。受け取った SSL/TLS 証明書は 90 日ごとに自動的に更新されます。したがって、90 日ごとに更新を実行して HAProxy を更新するスクリプトを作成できます。さらに、Let’s Encrypt 証明書はすべてのブラウザおよびオペレーティング システムと互換性があるため、HAProxy を保護するために証明書をシームレスに使用できます。
HAProxy を SSL で保護する方法に関するステップバイステップ ガイド
ここまでで、SSL/TLS 証明書の役割と、Web サイトに SSL/TLS 証明書が必要な理由を理解しました。さらに、それを取得する方法についても説明しました。最後のステップは、SSL を使用して HAProxy を保護する手順を共有することです。
始める前に、HAProxy で使用するターゲット Web サーバーに関連付けられた有効な有効なドメインがあることを確認してください。準備ができたら、次の手順に進みます。
ステップ 1: リポジトリを更新する
システムを更新すると、インストールするパッケージの最新のソースを確実に入手できます。
$ 須藤 適切なアップデート
ステップ 2: HAProxy をインストールする
この場合、SSL を使用してセキュリティを確保したいので、HAProxy をインストールする必要があります。 Web サーバーで HAProxy を実行している場合は、この手順をスキップしてください。それ以外の場合は、次の「install」コマンドを実行して、HAProxy をすばやくインストールします。
$ 須藤 適切な インストール ハプロキシ
インストールしたら、負荷分散などサーバーのニーズに最適な構成を実行します。
ステップ 3: Certbot をインストールする
Let’s Encrypt によって発行される無料の SSL 証明書はすべて Certbot を通じて提供されます。証明書を他の場所で購入した場合は、Certbot をインストールする必要はありません。このケースでは Ubuntu 22.04 を実行しており、Certbot パッケージはデフォルトのリポジトリから入手できます。インストールするには、次のコマンドを実行します。
$ 須藤 適切な インストール 証明書ボット
ステップ 4: SSL 証明書を取得する
Certbot をインストールしたら、Let’s Encrypt から SSL 証明書を取得できます。次の構文を使用し、「exampledomain.com」をセキュリティで保護したい有効なドメインに置き換えてください。
$ 須藤 証明書ボット証明書のみ --スタンドアロン -d 例ドメイン.com -d www.exampledomain.com
コマンドを実行すると、一連のプロンプトが表示されます。各プロンプトを確認し、正しい詳細を入力して回答します。たとえば、ドメインに関連付けられた電子メールを指定する必要があります。プロンプトに答えてドメインが認証されると、SSL 証明書が取得され、サーバーに保存されます。
ステップ 5: 単一の PEM ファイルを作成する
生成された SSL 証明書を HAProxy で使用するには、証明書と対応する秘密キーを 1 つの PEM ファイルに保存します。したがって、次のコマンドを使用して、フルチェーン証明書ファイルを秘密キー ファイルに連結する必要があります。
$ 須藤 猫 / 等 / letsencrypt / ライブ / 例ドメイン.com / フルチェーン.pem / 等 / letsencrypt / ライブ / 例ドメイン.com / privkey.pem | 須藤 ティー / 等 / ハプロキシ / 証明書 / 例ドメイン.com.pem
必要な場合は必ずドメインを置き換えてください。
ステップ 6: HAProxy を構成する
単一の PEM ファイルを作成したら、そのファイルを参照して保護するように HAProxy を構成する必要があります。 HAProxy ファイルに、HTTPS にバインドするポートを含め、SSL キーワードを使用して PEM ファイルへのパスを追加します。
テキストエディタを使用してファイルを開きます。
$ 須藤 ナノ / 等 / ハプロキシ / haproxy.cfg
次に、設定を編集して次のようなフロントエンドを作成し、どのポートを保護し、どこから PEM ファイルを取得するかを示します。
最後に、設定ファイルを保存して終了します。 HAProxy を再起動すると、クライアントからサーバーに送信されるトラフィックが保護されます。構成ファイルに含まれているリダイレクト スキームのおかげで、すべての HTTP トラフィックは HTTPS にリダイレクトされます。
これが、HAProxy を SSL で保護する方法です。
結論
SSL/TLS 証明書は、HAProxy をロード バランサとして使用するときにトラフィックを保護する便利な方法です。 Certbot ツールを使用して Let’s Encrypt から無料の SSL 証明書を取得し、トラフィックをリダイレクトするときにそれを使用するように HAProxy を構成できます。従うべき詳細な手順を示し、Web サーバー上で同じ設定を行う際の参考となる例を示しました。