スキップしてメイン コンテンツに移動

apacheで複数のSSL設定を行う

1サーバーでSSL通信を複数のバーチャルホストで行う場合、設定がやや複雑(というか落とし穴いっぱい)だったのでメモを。
ちなみにバーチャルホストはサブドメインを設定しましたが、証明書はwwwでしか使えないものを購入(www以外のサブドメインは勝手証明書を利用)しました。




今回は、SSL関連の設定を3つのファイルに分けました。
ssl.conf・・・SSLの共通設定
ssl_www.conf・・・https://www.example.com 用の設定
ssl_test.conf・・・https://test.example.com 用の設定

apacheはconf.d以下に配置された「.conf」ファイルをhttpd.confにインクルードするので追加の設定は新たにファイルをこしらえたほうがすっきりします。

まず、ssl.confをコピーします。
cp ssl.conf ssl_www.conf
cp ssl.conf ssl_test.conf

ssl.confの設定
<virtualhost _default_:443>の項目をガッツリ削除。
ssl.confには、wwwとtestで使う共通設定のみ残します。

NameVirtualHost *:443 を追記する(どこでもいい。迷ったら一番最後)

次は、ssl_www.confとssl_test.confの設定。
ssl_www.confとssl_test.confからssl.confに残した部分を削除。
具体的には「<virtualhost _default_:443>」の中だけを残します。

以下の部分を修正
<virtualhost _default_:443>
↓
<virtualhost *:443>

「DocumentRoot」と「ServerName」の項目を有効にする。
DocumentRoot "/var/www/html" #環境に合わせて修正する
ServerName www.example.com:443 #環境に合わせて修正する

ssl_www.confとssl_test.confのログ出力先を調整(今回は出力先を分けたので。必要ない場合はとばしてください)

設定を確認。
apachectl configtest

syntax OK と表示されたら設定は完了。apacheリスタートします。

両方のSSL通信を確認する → できた\(^o^)/


今回は、既にwwwのサブドメインでSSL通信ができている状態からスタートしているので設定項目は少なめでした。ハマったのは「NameVirtualHost」の項目でしょうか。追記しないとconfigtestで「_default_ VirtualHost overlap on port 443, the first has precedence」というエラーを吐きます。
ssl.confに初期設定で残っている「<virtualhost _default_:443>」の項目が残っていても同じエラーを吐くので注意してください。

1つとりあえずSSL通信が使えるようにしてから2つ目の設定をする方向がいいかも知れませんね。

ネームベースのSSL設定は色々な曰くつきでできないという意見がチラホラ散見できたので、一つの成功例としてあげておきます。

see also:
[VB.NET]オレオレ証明書でSSL通信するための短絡的な解決法


コメント

このブログの人気の投稿

[VB.NET]オレオレ証明書でSSL通信するための短絡的な解決法

VB.NETソフトウェアでサーバーと通信することはよくある事だと思いますが、最近はHTTPを使って明けっ広げに刺しに行くよりHTTPSを使って暗号化してこそこそやった方が時代の流れに即した感じですよね(違うか)。 いちいちテスト環境でSSL証明書を用意するのも面倒だということで、セキュリティ的には全くよろしくない方法で迂回できるので紹介します。

[JS]Canvasでよく使う描画テクまとめ

HTMLで画像をいじくりたい時は、canvasを利用して編集するのは一般的ですが、WindowsストアアプリではHTML+CSS+JSでのアプリ開発ができる事もあって、簡単な画像編集であれば、C#やVBを使うより分かりやすいし資料が多く、C++でDirectXをガリガリ書くよりお手軽。入出力もファイルピッカーを使えば簡単に実装できます。今回は、Windowsのコードではなく、Canvasを利用する時のJavaScriptを使いどきに合わせてまとめていきます。

curl の基本的な使い方 -設定編-

今回のcurl TIPSは、curlをより日常的に使っていくためのHow toです。curlには、数多くのオプションが用意されていて、それらを組み合わせる事で様々な事が楽になるでしょう。サービス監視の自動化などにはまさにcurlの得意分野です。 今回は、curlを更に自分のものにしていくために大事なカスタマイズの部分を解説します。