SNI を使用して同じ IP とポートで ssl を構成したい、または別のポートにすることもできますが、要求されたドメインの ssl 証明書を配信するように apache に指示できません。
デフォルトのサイト証明書を配信します。問題をデバッグできません。
ログにアクセスすると、デフォルトのドメイン名が表示されますが、リクエストは他のドメインのものです..
たとえば、site1.com に問い合わせると、site1.com が開き、site1.com が配信されますが、site2.con に問い合わせると、site1.com の ssl が配信され、site2.com が site1.com にリダイレクトされます。
*:443 の代わりに domainname:443 を追加すると、ブラウザで 241 リダイレクト エラーが発生し、次のようになります。
Misdirected Request 要求されたホスト名がこの接続に使用されている Server Name Indication (SNI) と一致しないため、クライアントはこの要求に対して新しい接続を必要とします。
/etc/apache2/ports.conf のポート 80 と 443 でリッスンしています apt-get install libapache2-mod-ssl a2enmod ssl を使用して ssl mod をインストールしました
最新のapache2バージョンとopensslでubuntuサーバーバイオニック(18)を使用しています
複数の情報源に関心を持っていますが、これらのリンクをたどっても問題は解決しませんでした
SSLStrictSNIVHostCheck on
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin admin@site1.com
ServerName site1.com/
ServerAlias www.site1.com/
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/site1.com/certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl/site1.com/private.key
SSLCertificateChainFile /etc/apache2/ssl/site1.com/ca_bundle.crt
DocumentRoot /var/www/site1.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</IfModule>
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/public_html
Redirect permanent / https://site1.com/
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin admin@site2.com
ServerName site2.com/
ServerAlias www.site2.com/
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/site2.com/certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl/site2.com/private.key
SSLCertificateChainFile /etc/apache2/ssl/site2.com/ca_bundle.crt
DocumentRoot /var/www/site2.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</IfModule>
< VirtualHost *:80>
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2.com/public_html
Redirect permanent / https://site2.com/
</VirtualHost>