Я установил SSL через certbot, и все мои сайты доступны через SSL.
Однако, когда http используется в URL-адресе браузера, только 1-й снизу перенаправляется на https. Остальные не перенаправляются на https и продолжают находиться в http.
- мой домен.com
- xx.mydomain.com
- yy.mydomain.com
Для порта 80 ниже приведено содержимое логики перезаписи в файле virtualhosts:
RewriteEngine включен
RewriteCond %{SERVER_NAME} =mydomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Для порта 443 ниже приведено содержимое виртуальных хостов:
Корень документа /var/www/html
Имя сервера mydomain.com
Включить /etc/letsencrypt/options-ssl-apache.conf
Псевдоним сервера xx.mydomain.com
Псевдоним сервера yy.mydomain.com
SSLCertificateFile /etc/letsencrypt/live/yy.mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yy.mydomain.com/privkey.pem
Как вы увидите, домен и поддомены указывают на один и тот же корневой каталог документа.
Как сделать так, чтобы все URL-адреса, перечисленные в приведенных выше пунктах, перенаправлялись на https при вводе http в браузере? Я не уверен, что именно нужно изменить в логике перезаписи порта 80, чтобы это работало для поддоменов, настроенных как псевдонимы сервера.