У меня есть сервер с большим количеством vhosts на них в большом количестве различных файлов и местоположений. Один и только один дает проблемы. У сотен других (почти идентичных) все в порядке.
Сайт www.customer.be загружается нормально, включая правильный сертификат. Версия без www загружает сертификат dashboard.example.com (первый файл vhost, загружаемый apache2).
Что еще более странно, это то, что единственное, что делает не-www-версия, это перенаправление на www-версию. Если вы продолжаете в любом случае в браузере, перенаправление происходит правильно.
Это файл (фактические имена доменов изменены), имейте в виду, есть сотни из них, все идентичные, кроме доменов:
<VirtualHost *:80>
ServerName customer.1.example.net
Redirect / https://www.customer.be/
</VirtualHost>
<VirtualHost *:80>
ServerName www.customer.be
Redirect / https://www.customer.be/
</VirtualHost>
<VirtualHost *:80>
ServerName customer.be
Redirect / https://www.customer.be/
</VirtualHost>
<VirtualHost *:443>
ServerName customer.be
SSLEngine on
SSLCertificateFile "/var/www/1.example.net/letsencrypt/certs/www.customer.be/fullchain.pem"
SSLCertificateKeyFile "/var/www/1.example.net/letsencrypt/certs/www.customer.be/privkey.pem"
Redirect / https://www.customer.be/
</VirtualHost>
<VirtualHost *:443>
ServerName www.customer.be
DocumentRoot /var/www/1.example.net/platform/
<Directory /var/www/1.example.net/platform/>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile "/var/www/1.example.net/letsencrypt/certs/www.customer.be/fullchain.pem"
SSLCertificateKeyFile "/var/www/1.example.net/letsencrypt/certs/www.customer.be/privkey.pem"
</VirtualHost>
Это тот, с которого загружается сертификат (это первый загружаемый apache2):
<VirtualHost *:80>
ServerName dashboard.example.com
Redirect / https://dashboard.example.com/
</VirtualHost>
<VirtualHost *:80>
ServerName dashboard.example.be
Redirect / https://dashboard.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName dashboard.example.com
DocumentRoot /var/www/dashboard/
<Directory /var/www/dashboard/>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile "/etc/dehydrated/certs/dashboard.example.com/fullchain.pem"
SSLCertificateKeyFile "/etc/dehydrated/certs/dashboard.example.com/privkey.pem"
</VirtualHost>
Следующий