Рейтинг:0

Как перенаправить на https для нескольких поддоменов, настроенных как ServerAlias?

флаг in

Я установил SSL через certbot, и все мои сайты доступны через SSL.

Однако, когда http используется в URL-адресе браузера, только 1-й снизу перенаправляется на https. Остальные не перенаправляются на https и продолжают находиться в http.

  1. мой домен.com
  2. xx.mydomain.com
  3. 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, чтобы это работало для поддоменов, настроенных как псевдонимы сервера.

Рейтинг:2
флаг us
Rob

Ваша конфигурация является условной (по запросу, сделанному для =example.com), поэтому RewriteRule не будет перенаправлять запросы на xx.example.com.

Вы также можете

  • улучшите это условие (когда вы все еще хотите перенаправлять только для определенных (суб-) доменов). Не очень красиво, но например:

    RewriteEngine включен
    RewriteCond %{SERVER_NAME} =example.com [ИЛИ]
    RewriteCond %{SERVER_NAME} =xx.example.com [ИЛИ]
    RewriteCond %{SERVER_NAME} =yy.example.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
    
  • уберите условие полностью (и перенаправьте все на https (с риском того, что вы также перенаправите новый субдомен.example.com на https, для которого у вас еще нет действующего сертификата)

    RewriteEngine включен
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
    

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.