名前ベース virtualhostのSSL設定を行いたいのですが、DocumentRootが一部重複しているためか、意図通りに動作しません。
実現したいのは、以下のように本ドメイン、サブドメインのどちらも、正しくSSL通信を行うことです。
https://hoge.com
https://m.hoge.com
apacheの設定は以下のとおりです。(一部省略)
DocumentRootが本ドメインは「/var/www/html」、サブドメインはその配下の「/var/www/html/cakephp/m」で設定しています。
Listen 443 NameVirtualHost *:443 <VirtualHost *:443> DocumentRoot "/var/www/html" ServerName hoge.com SSLEngine on SSLCertificateChainFile /etc/httpd/conf/ssl.crt/dvcacert.cer SSLCertificateFile /etc/httpd/conf/ssl.crt/hoge.crt SSLCertificateKeyFile /etc/httpd/conf/ssl.key/hoge.key </VirtualHost> <VirtualHost *:443> DocumentRoot "/var/www/html/cakephp/m" ServerName m.hoge.com:443 SSLEngine on SSLCertificateChainFile /etc/httpd/conf/ssl.crt/m.dvcacert.cer SSLCertificateFile /etc/httpd/conf/ssl.crt/m.hoge.crt SSLCertificateKeyFile /etc/httpd/conf/ssl.key/m.hoge.key </VirtualHost>
発生している問題は、ブラウザで「https://hoge.com」にアクセスすると正常に動作するのですが、「https://m.hoge.com」にアクセスするとブラウザに通信が保護されていない旨が表示されます。
「https://m.hoge.com」を開いた状態でブラウザで証明書を確認すると「hoge.com」の証明書が使用されていました。
そこで、「https://m.hoge.com」のVirtualHostの設定を先に記載したらどうなるか試したところ、今度は「https://m.hoge.com」にアクセスすると問題なく動作しましたが、「https://hoge.com」にアクセスするとブラウザに通信が保護されていない旨が表示されました。
「https://hoge.com」を開いた状態でブラウザで証明書を確認すると「m.hoge.com」の証明書が使用されていました。
どのように設定すれば、両ドメインでSSL通信が出来るようになりますでしょうか。
Apacheのバージョンは2.2.3です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。