Apacheの設定の話です。
NSIとかSANsで1つのSSL証明で複数のSSLサイトを認証させる場合。
ルートに設定を書いても駄目で、仮想ホストごとにSSLの設定を書くべし。
細かい説明はなしで、とりあえずメモ程度に
以下のコードを繰り返し書くだけでいい。
とにかく
NameVirtualHost *:80
NameVirtualHost *:443
を忘れると思い通りに動かない
最低限の設定なので、実際にはもっとしっかり書くこと
httpd.conf
NameVirtualHost *:80
NameVirtualHost *:443
#---- www1.exsample.com
<VirtualHost *:80>
ServerName a.exsample.com
RewriteEngine On
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /home/www/public_html
ServerName www1.exsample.com
#--- SSL
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www1.exsample.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www1.exsample.com/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/www1.exsample.com/chain.pem
</VirtualHost>
#---- /www1.exsample.com