お世話になっております。
LinuxのHAProxyを使用してロードバランサの構築をしています。
同じバックエンドサーバ環境に本番環境と検証環境を構築しています。
apache(バックエンドサーバ)の設定で「example.jp」の場合は本番環境のドキュメントルートに、
「test.example.jp」の場合は検証環境のドキュメントルートに飛ぶよう設定しています。
現在、HAProxyで読み込んでいる証明書ファイルは「example.jp」のものです。
ですので「test.example.jp」へアクセスした場合も、「example.jp」の証明書が表示されています。
これを「test.example.jp」の場合は「test.example.jp」の自己証明書に、
「example.jp」の場合は「example.jp」の証明書が表示されるようにしたいです。
以下はHAProxyの設定内容になります。
haproxy
1frontend http-in 2 bind *:80 3 reqadd X-Forwarded-Proto:\ http 4 default_backend static 5 6frontend https 7 bind *:443 ssl crt /etc/haproxy/server.pem #「example.jp」の証明書 8 reqadd X-Forwarded-Proto:\ https 9 default_backend static 10#--------------------------------------------------------------------- 11# static backend for serving up images, stylesheets and such 12#--------------------------------------------------------------------- 13backend static 14 balance roundrobin 15 appsession PHPSESSID len 32 timeout 30m request-learn 16 server web01 XX0.2XX.XX0.XX0:80 check 17 server web02 XX0.2XX.XX0.XX1:80 check
以下のように記述した場合、HAProxyに証明書を複数読ませる事が出来るようです。
参考にしたサイト
haproxy
1frontend https 2 bind *:443 ssl crt /etc/haproxy/server.pem crt /etc/haproxy/test_server.pem #「example.jp」と「test.example.jp」の証明書
【質問】
証明書を複数読み込ませる情報はネットから拾えたのですが、その証明書がどのように振り分けられるのか、その情報がありません。
試してみるのが早いのですが、現在稼働中のサーバなので安易に触れない状況です。
上記のように証明書を複数読み込ませた場合の挙動をご存知の方はいますか?
ホスト名から勝手に判断してしかるべき証明書を使用してくれるのでしょうか?
マイナーなシステムかとは思いますが、何卒宜しくお願い致します。
【備考】
aclを使用して条件分岐させ、ホスト名によって使用する証明書を切り替える、という事が出来ればそれで良いのですが、aclでは条件によってバックエンドサーバを切り替える、という事しか出来ないみたいです・・。
参考にしたサイト
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/04 06:14