質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Q&A

解決済

1回答

2357閲覧

さくらのラピッドSSLをサブドメインに導入する方法は?

minoru23

総合スコア23

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

0グッド

0クリップ

投稿2017/08/19 14:29

編集2017/08/19 16:09

専用サーバーでバーチャルホストによる下記の複数サイトを運営しています。
www.abc.com
sp.abc.com
mb.abc.com

さくらのラピッドSSLをすべてのドメインに対して導入したいと思っているのですが、
具体的な方法が分かりません。

ルートドメインへの導入については参考になるサイトがいくつもあったのですが
サブドメインに対してはどのようにしたらいいのでしょうか。

参考になる解説サイトなどありましたら教えていただけると幸いです。

追記

アドバイスありがとうございます。

ご指摘の通り「複数のドメインを SSL 化する場合は、Virtualhost の項目で設定」のところが分かりません。

現在の設定は下記のようになっています。

Apacheのバージョン
→Server version: Apache/2.2.3

SSL
→まだ取得していません。ラピッドSSLにしようと思っています。

各サブドメインのVertualhost設定
→/etc/httpd/conf/httpd.confに下記のように設定しています。

NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/html/example.com
</VirtualHost>

<VirtualHost *:80>
ServerName sp.example.com
DocumentRoot /var/www/html/sp.example.com
</VirtualHost>

<VirtualHost *:80>
ServerName mb.example.com
DocumentRoot /var/www/html/mb.example.com
</VirtualHost>

どうかよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

さくらのSSL > ラピッドSSL でしょうか?

そうであれば、ワイルドカードSSL証明書ではないので、複数ドメイン(サブドメイン含)のWebサイトで、この SSL 証明書を使いたいのであれば、Web サイトの数の SSL 証明書を購入する必要があります。(「各認証局のSANs自動登録について」参照 )

今回の例であれば、

www.example.com (SANs example.com 自動設定)
sp.example.com (SANs 無し)
mb.example.com (SANs 無し)

の3つとすると 3個のサブドメインのSSL証明書を購入して、Virtualhost の設定を Webサイトの数だけ設定します。

Webサーバの設定項目は、基本的に ルートドメインもサブドメインもSSL 関係の項目は同じで、複数のドメインを SSL 化する場合は、Virtualhost の項目で設定する必要があるだけです。

具体的な設定の説明は、現在の Apache のバージョンや SSL や 各サブドメインの Vertualhost設定が、不明なので省略しますが、設定内容の説明が必要な場合は、現在の設定を質問に追記してください。


環境や設定が、質問に追記されたので追加説明(2017.08.20追記)

専用サーバということなので、ssl.conf 設定します。(Apache 2.4 以降は、「NameVirtualHost」は、不要です。)

Listen 443 SSLStrictSNIVHostCheck off AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl #SSLRandomSeed startup file:/dev/random 512 SSLRandomSeed startup file:/dev/urandom 512 #SSLProtocol All -SSLv2 # Apache 2.2 デフォルト SSLProtocol All -SSLv2 -SSLv3 # SSL v3 で脆弱製が見つかっているのでデフォルトから変更しています。 #SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES # Apache 2.2 デフォルト SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES:!RC4:!DH # RC4, DH が、弱い暗号と言われているので禁止しています SSLPassPhraseDialog builtin SSLSessionCache "shmcb:logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 NameVirtualHost *:443 (この後に 各 VirtualHost の設定を記入)

各 VirtualHost の設定を作成する。
ホスト毎に必要な SSL証明書等は、VirtualHost 設定に記載します。

ポート80の VirtualHost の設定をコピーして、ssl.conf に記載して、ポートを 443 に書き換え、SSL関連のディレクティブを追加する。

SSLCertificateFile / SSLCertificateKeyFile ディレクティブのファイルパスは、証明書を保存した場所を記載する。
SSLCertificateChainFile の /etc/ssl/rapidssl_ca.crt は、ラピッドSSL の中間証明書を保存したファイルです。 SSL証明書の発行通知メールに 中間証明書のインストールについて記載があると思うので、その内容に従ってください。

各 VirtaulHost で、最低限必要な項目は、以下でしょうか。これをバーチャルホストの数だけ設定します。

<VirtualHost *:443> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/html/example.com ErrorLog logs/ssl_error_log CustomLog logs/ssl_access_log combined SSLEngine on SSLCertificateFile "/etc/ssl/www.example.com/www.example.com.crt" SSLCertificateKeyFile "/etc/ssl/www.example.com/www.example.com.key" SSLCertificateChainFile "/etc/ssl/rapidssl_ca.crt" </VirtualHost>

なお、古い携帯電話のブラウザや Windows XP の IE では、SSL接続できない可能性もありますので、これらの古い環境がある場合は、適宜設定を緩めてください。

最後に バーチャルホストのSSL設定例が見つからなかったということですが、google で、「apache バーチャルホスト SSL」や「apache SNI」等のキーワードで検索すると 設定例は、見つかりますので、参考にしてください。

投稿2017/08/19 15:39

編集2017/08/20 01:40
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

minoru23

2017/08/20 08:26

詳細な設定ありがとうございました! また、googleでの検索ワードも助かりました。 知識がないと、検索に必要なキーワードも出てこないことが分かりました。 どうもありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問