ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
ちょっと私は古い人間ですので1つのグローバルIPアドレスで1つのSSLしか対応できないと思っていたのですが最近はそんなことないんですね。不便だと思ってはいたのですが、どうやら世の中の人もそのような考えの人が多かったようです。
最近ではServer Name Indication(SNI)によって名前ベースのバーチャルホストでもSSLが使えるようになっていたようです。
SNIが利用できる条件
- Apache 2.2.12以降
- OpenSSL 0.9.8j以降
- ブラウザがSNIに対応
世の中のたいていの方は既にWindows7以降であったり、iOS4以降だと思いますのでほとんどの方が利用しているブラウザはSNIに対応していそうです。WindowsXPをまだご利用の方はごめんなさい。
ということで、実は私のサイトは画像などの静的コンテンツはKeepAliveを有効にするために別ドメイン(Virtualhost)にしていますが、SSL化の為にWordpressの「Really Simple SSL」プラグインを導入したところ静的コンテンツへのリンクもhttps://~に書き変わってしまったのでその対応を行います。
まずは下記の記事の手順に沿ってSSLサーバー証明書の取得を行います。
【FujiSSL】格安SSL証明書でWebサーバをSSL化する方法(apache + mod_ssl)
そして、ssl.confにVirtualhost設定を加えます。ところが、パスフレーズを入力する/usr/libexec/httpd-ssl-pass-dialogについてはドメイン毎にパスフレーズを変えてしまっていたため変更する必要が出てきましたので以下のように修正を行います。
#!/bin/sh #exec /bin/systemd-ask-password "Enter SSL pass phrase for $1 ($2) : " case $1 in blog.kamata-net.com:443) echo "(パスフレーズ)" ;; kamata-net.jp:443) echo "(パスフレーズ)" ;; esac
しかしSSLもVirutualhostに対応できたなんて便利な世の中になりましたね。
記事は以上。