色々とまだ勉強中だから密かにはまった事を書いていこうかなと。( ´∀`)つ


うちではロードバランサーを導入せず、Linuxでpoundを動かしてバランシングしている。。。
って事で開発から「SSL証明書をバランサーで持って欲しい」と言われた。
ので試してみたが、よく分からん。ヽ(TдT)ノ

やる事は分かってる。やりたい事も分かってる。
けど。。。。やり方が分からない。。。。


pound.cfg内の
Cert "/etc/ssl/test.crt"
に単純に証明書を置けばいいか。

えっ、鍵はどこに???中間証明書は???(゚∇゚ ;)エッ!?
絶対に無理だよね。これで証明書がちゃんと動いたらおかしいよね。

一応コンフィグチェックしてみるけどさ・・・・・
# /etc/init.d/pound configtest
SSL_CTX_use_PrivateKey_file failed - aborted

だよね、だよね。

じゃあmanで見るか。

# man pound
~~~~~中略~~~~~
              the  certificate file(s) for HTTPS. The location must be defined in the configuration file - this is only a suggestion. The file must contain a PEM-encoded certificate, optionally a certifi-
              cate chain from a known Certificate Authority to your server certificate and a PEM-encoded private key (not password protected). See OpenSSL(1) for details. This file  should  be  well  pro-
              tected, lest someone gets your server private key.

ふむ。
BIG-IPみたいに秘密鍵と証明書と中間証明書を置くだけと思ってたのが間違い。
poundはこの
ファイルたちを1つにまとめろと!!!
結合しろとおっしゃっている。

って事で適当に結合してみたら
# /etc/init.d/pound configtest
SSL_CTX_use_certificate_chain_file failed - aborted



結合する順番があるらしい。
ファイル名がややこしいから色をつけての説明。

SSL認証局からもらった証明書:test.crt
SSL認証局にリクエストする為の情報ファイル:test.csr
秘密鍵(パスワード無し):test.key
認証局の中間証明書:rapid.cer

# test.crt
# cat test.key >> test.crt
# cat rapid.cer >> test.crt
#


これでpoundに下記のように設定すればok

 ListenHTTPS
     # PoundサーバのIP
     Address 192.168.0.0
     # Listenするポート
     Port 443
     # 証明書指定
     Cert "/etc/ssl/test.crt"
 End