HAProxyは、広く使用されている信頼性の高い高性能リバースプロキシであり、TCPおよびHTTPアプリケーションに高可用性と負荷分散機能を提供します。 デフォルトでは、次のようにコンパイルされます OpenSSL、したがってサポート SSL 終了。Webサイト/アプリケーションスタックが「Webエントリサーバー」またはアプリケーションアクセスゲートウェイサーバーとクライアントアプリケーション間のトラフィックを暗号化および復号化できるようにします。
このガイドでは、 CA SSL の証明書 HAPorxy。 このガイドは、CAから証明書をすでに受信しており、HAProxyサーバーに証明書をインストールして構成する準備ができていることを前提としています。
予想されるファイルは次のとおりです。
- 証明書自体。
- バンドルまたはチェーンとも呼ばれる中間証明書、および。
- ルートCA(利用可能な場合)、および。
- 秘密鍵。
PEM形式のSSL証明書ファイルを作成する
設定する前に CA の証明書 HAProxy、あなたはそれを理解する必要があります HAProxy 単一が必要です .pem
上記のすべてのファイルの内容を次の順序で連結したファイル。
- で終わる秘密鍵
.key
、(ファイルの最初または最後に来ることができます)。 - その後にSSL証明書が続きます(通常はで終わります
.crt
)。 - 次に、CAバンドル(通常はで終了します
.ca-bundle
)、 と - ルートCA(利用可能な場合)。
を作成するには .pem
ファイル、証明書ファイルがあるディレクトリに移動します。 〜/ダウンロード、次に次のようにcatコマンドを実行します(それに応じてファイル名を置き換えます)。
$ cat example.com.key STAR_example_com/STAR_example_com.crt STAR_example_com/STAR_example_com.ca-bundle > example.com.pem
HAProxyでPEMSSL証明書を構成する
次に、作成したばかりをアップロードします .pem
に証明書ファイル HAProxy 示されているようにscpコマンドを使用するサーバー(置換 sysadmin と 192.168.10.24 リモートサーバーのユーザー名とIPアドレスをそれぞれ使用):
$ scp example.com.pem [email protected]:/home/sysadmin/
次に、証明書を配置するディレクトリを作成します .pem
ファイルはを使用して保存されます mkdir コマンドを実行し、ファイルをその中にコピーします。
$ sudo mkdir -p /etc/ssl/example.com/ $ sudo cp example.com.pem /etc/ssl/example.com/
次に、 HAProxy 構成ファイルを作成し、sslおよびcrtパラメーターを使用してフロントエンドリスナーセクションで証明書を構成します。前者はSSL終了を有効にし、後者は証明書ファイルの場所を指定します。
frontend http_frontend mode http bind *:80 bind *:443 ssl crt /etc/ssl/example.com/example.com.pem alpn h2,http/1.1 redirect scheme https code 301 if !{ ssl_fc } default_backend http_servers
の特定のバージョン SSL / TLS 脆弱性が発見されているため、現在の使用はお勧めしません。 サポートされているバージョンを制限するには SSL、追加できます ssl-min-ver このようなパラメータ:
bind *:443 ssl crt /etc/ssl/example.com/example.com.pem alpn h2,http/1.1 ssl-min-ver TLSv1.2
HTTPをHTTPSにリダイレクトするようにHAProxyを構成する
あなたのウェブサイトが経由でのみアクセス可能であることを確実にするため HTTPS、HAProxyを有効にしてすべてをリダイレクトする必要があります HTTP へのトラフィック HTTPS ユーザーがHTTP(ポート80)を介してアクセスしようとした場合。
上記の構成に次の行を追加します。
redirect scheme https code 301 if !{ ssl_fc } OR http-request redirect scheme https unless { ssl_fc }
これで、フロントエンドセクションは次のサンプル構成のようになります。
frontend http_frontend mode http bind *:80 bind *:443 ssl crt /etc/ssl/example.com/example.com.pem alpn h2,http/1.1 ssl-min-ver TLSv1.2 redirect scheme https code 301 if !{ ssl_fc } default_backend http_servers backend http_servers mode http balance roundrobin option httpchk HEAD / http-response set-header X-Frame-Options SAMEORIGIN http-response set-header X-XSS-Protection 1;mode=block http-response set-header X-Content-Type-Options nosniff default-server check maxconn 5000 server http_server1 10.2.1.55:80
構成ファイルを保存して閉じます。
次に、次のコマンドを使用して、構文が正しいかどうかを確認します。
$ sudo haproxy -f /etc/haproxy/haproxy.cfg -c
構成ファイルが有効な場合は、systemctlコマンドを使用して、haproxyサービスをリロードし、構成の最近の変更を取得します。
$ sudo systemctl reload haproxy
大事なことを言い忘れましたが、ウェブブラウザからウェブサイトにアクセスしてセットアップ全体をテストし、証明書が正常に読み込まれ、ブラウザが「接続は安全です」!
それで全部です! このガイドが、HAProxyロードバランサソフトウェアでSSL証明書を構成するのに役立つことを願っています。 エラーが発生した場合は、以下のフィードバックフォームからお知らせください。 喜んでお手伝いさせていただきます。
ここでTecMintで行っていることを理解する場合は、次のことを検討する必要があります。
TecMintは、Web上のあらゆる種類のLinux記事、ガイド、および書籍で最も急速に成長し、最も信頼されているコミュニティサイトです。 何百万人もの人々がTecMintを訪れます! すべての人が無料で利用できる何千もの公開記事を検索または閲覧します。
あなたが読んでいるものが好きなら、感謝の印として私たちにコーヒー(または2)を買うことを検討してください。
終わりのないサポートに感謝します。
。
The post HAProxyでCASSSL証明書を設定する方法 appeared first on Gamingsym Japan.