Amazon EC2が1年間無料で使えるとのことなので最近お遊びがてら使ってます。
(使い始めが昨年のGWなのでそろそろ期限切れなのですが(笑))
で、apache2.4.8にStartSSLの無料SSL証明書を設定したときにハマッたので備忘録代わりにメモ。
ハマッた原因・・・apache2.4.8からSSLCertificateChainFileが使えなくなった。SSLCertificateChainFileは中間証明書を設定する箇所ですね。
apache2.4.8では中間証明書はSSLCertificateFileに設定するそうです。
これがnginxだとサーバ証明書と中間証明書をcatコマンドなどで連結するだけなのですがapacheではこの方法はダメでした。
StartSSLの証明書を使用している場合、2.4.8以前では以下を設定します。
(ディレクトリは仮です。実際のディレクトリに置き換えてください)
SSLCertificateFile /etc/server.crt
SSLCertificateKeyFile /etc/server.key
SSLCertificateChainFile /etc/sub.class1.server.ca.pem
SSLCACertificateFile /etc/ca.pem
2.4.8ではSSLCertificateChainFileが使えないので
参考にしたサイトのスクリプトを使ってサーバ証明書と中間証明書をマージします。
./bundle.sh server.crt > myserver.chain
./bundle.sh sub.class1.server.ca.pem >> myserver.chain
以下を設定します。apache再起動でOKが表示されれば成功です。
SSLCertificateFile /etc/myserver.chain
SSLCertificateKeyFile /etc/server.key
SSLCACertificateFile /etc/ca.pem
なお、証明書のマージのときに以下も実行するとSSLCACertificateFileの行が不要になります。
./bundle.sh ca.pem >> myserver.chain
この場合は以下の2行だけの設定で済みます。
SSLCertificateFile /etc/myserver.chain
SSLCertificateKeyFile /etc/server.key