私は自分のサーバー上に複数のバーチャルホストがあります。
www.example.com
sub.example.com
www.example.nl
私のDNS設定では、すべて同じサーバーを指しています。
apache2 configには、http用とhttps用のデフォルトのconfigファイルと、追加サイト用の追加の仮想ホストがあります。すべての近似試合をリダイレクトしたい www.example.com
。すべての特定サイトに証明書があります。
だから私のファイルはこのようになります
000-default.conf (redirects to https://www.example.com)
default-ssl.conf (serves https://www.example.com)
sub.example.com.conf (redirects to https://sub.example.com)
sub.example.com-ssl.conf (serves https://sub.example.com)
www.example.nl.conf (redirects to https://www.example.nl)
www.example.nl-ssl.conf (serves https://www.example.nl)
問題は、他の要求が be-creative.example.nl
)デフォルトは最初にロードされた設定になります。これはhttp()のために働きます 000-default
有効な証明書がロードされていないため、一致してリダイレクトされます)、httpsでは機能しません。 be-creative.example.nl
。したがって、私はリダイレクトも有効なページも提供できません。
無効にした場合 default-ssl.conf
、要求はによって一致します sub.example.com-ssl.conf
それでも間違った証明書が出されます。
質問 :証明書を持っていないこれらの要求をエレガントに処理するにはどうすればよいですか。最初に有効な一致する証明書がなくてもhttpにリダイレクトするにはどうすればよいですか?