この投稿では、HAProxy での SSL パススルーの実装がなぜ不可欠であるかを説明することから始めます。次に、それを実装するために実行する手順について、理解しやすいように例を示して説明します。
SSL パススルーとは何ですか? なぜ必須ですか?
ロード バランサとして、HAProxy は Web サーバーに送られる負荷を受け取り、構成されたサーバー全体に負荷を分散します。分散される負荷は、クライアント デバイスとバックエンド サーバー間で共有されるトラフィックです。負荷分散にはセキュリティが不可欠であり、そこで SSL パススルーが活躍します。
理想的には、SSL パススルーには、HAProxy または使用している他のロード バランサーで SSL/TLS 接続を終了せずに、SSL/TLS トラフィックを Web サーバーに転送し、構成されたサーバーに分散することが含まれます。 SSL パススルーを使用すると、より優れたエンドツーエンド暗号化が実現し、クライアントの元の IP アドレスが保持されます。さらに、これは推奨されるセキュリティ対策であり、バックエンド サーバーの柔軟性が向上し、HAProxy の過負荷が軽減されます。
HAProxy で SSL パススルーを実装する方法に関するステップバイステップ ガイド
SSL パススルーの意味とそれが必要な理由を理解したら、次のタスクは、それを HAProxy ロード バランサーに実装するために従う必要がある手順を提供することです。指定された手順に従って、HAProxy ロード バランサーに SSL パススルーを迅速に実装します。
ステップ 1: HAProxy をインストールする
HAProxy がインストールされていないとします。最初のステップは、SSL パススルーを実装するように構成する前に、これをインストールすることです。したがって、まずリポジトリを更新してください。
$ 須藤 適切なアップデート
次に、次のコマンドを使用して、デフォルトのリポジトリから HAProxy をインストールします。このケースでは Ubuntu を使用していることに注意してください。
$ 須藤 適切な インストール ハプロキシ
HAProxy をインストールしたら、SSL パススルーを実装する準備が整います。読む!
ステップ 2: HAProxy に SSL パススルーを実装する
この手順では、「/etc/haproxy」にある HAProxy 構成ファイルにアクセスし、それを編集して SSL パススルーの実装方法を指定する必要があります。構成ファイルは任意のテキスト エディタで開くことができます。このデモンストレーションには nano を使用しました。
$ 須藤 ナノ / 等 / ハプロキシ / ハプロキシ、cfg構成ファイルにアクセスしたら、「フロントエンド」と「バックエンド」という 2 つのセクションを作成する必要があります。 「フロントエンド」では、接続のためにバインドするポートを指定します。ここでも、トラフィックの分散に使用するプロトコルとバックエンド サーバーを指定する必要があります。
この場合、トラフィックを保護する必要があるため、HTTPS 接続用のポート 443 をバインドします。繰り返しになりますが、HAProxy がトランスポート層で動作するために TCP モードを受け入れるように指定します。
また、SSL トラフィックを受け入れているかどうかを確認するために SSL の「hello」メッセージを検査する期間を指定するルールとして「tcp-request」行を追加します。最後に、負荷分散に使用するバックエンド サーバーを指定します。最後の「フロントエンド」セクションは次のとおりです。
「バックエンド」セクションでは、モードを TCP に設定します。次に、負荷分散に使用するサーバーの IP アドレスを指定します。これらの IP をライブサーバーの IP と一致するように置き換え、接続ポートを 443 に設定してください。
「option tcplog」は、構成ファイルの「global」セクションに含まれるログ ファイルに TCP に関連する問題を記録できるようにするために追加されました。
ステップ 3: HAProxy を再起動し、構成をテストする
HAProxy 構成ファイルを編集したら、それを保存して終了します。変更を適用するには、HAProxy サービスを再起動します。
それでおしまい! HAProxy に SSL パススルーを実装しました。 curl などのコマンドを使用して Web サーバーにトラフィックを送信して、その応答を確認してください。 SSL パススルーが正常に実装されると、接続がポート 443 経由で行われたことを示す出力が表示され、バックエンド サーバーに接続されます。サーバーは必要な詳細を返し、200 ステータスの応答を返します。
結論
SSL パススルーを実装すると、エンドツーエンドの暗号化を作成し、負荷分散が行われるときに SSL/TLS 接続が維持されるようにするのに役立ちます。 HAProxy に SSL パススルーを実装するには、HAProxy をインストールし、構成ファイルを編集してロード バランシングの実行方法を指定します。プロセスをよりよく理解するには、提示された例を参照してください。