Установка Let’s Encrypt SSL сертификата на домен с редиректом

Всем привет! Иногда необходимо выполнить установку с автоматическим продлением Let’s Encrypt SSL сертификата на домен с редиректом.

Если поставить обычный редирект вида:

Redirect 301 / https://{ВАШ_САЙТ}/

, то сертификат не может выпустится так как на домене {ВАШ_САЙТ_С_РЕДИРЕКТОМ} работает редирект на {ВАШ_САЙТ}, редирект работает абсолютно на всех поэтому робот проверяющий домен не может найти файл с подтверждением домена

Примечание:

{ВАШ_САЙТ_С_РЕДИРЕКТОМ} — это сайт, с которого настроен редирект на сайт {ВАШ_САЙТ}

{ВАШ_САЙТ} — сайт, на который настроен редирект с сайта {ВАШ_САЙТ_С_РЕДИРЕКТОМ}

То есть на хостинге создается файл проверки с ключем, по пути http://{ВАШ_САЙТ_С_РЕДИРЕКТОМ}/.well-known/acme-challenge/………………..

С вышеописанного правила проверяющего робота просто редиректит на домен {ВАШ_САЙТ} , где нет этого файла.

Решение

Чтобы это преодолеть вам нужно изменить сам редирект на домене {ВАШ_САЙТ_С_РЕДИРЕКТОМ} в файле .htaccess

Вы должны заменить этот код в файле

Redirect 301 / https://{ВАШ_САЙТ}/

На вот этот код:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !^Mozilla/5\.0\ \(compatible;\ Let\'s\ Encrypt\ validation\ server;\ \+https\:\/\/www\.letsencrypt\.org\)$
RewriteRule ^(.*)$ https://{ВАШ_САЙТ}/$1 [R=301,L]

Эти правила перенаправят все запросы, не содержащие User-Agent «Mozilla/5.0 (compatible; Let’s Encrypt validation server; +https://www.letsencrypt.org)», на https://{ВАШ_САЙТ}/.

После чего вы сможете выпускать сертификат без каких либо проблем, так как проверяющий бот не будет редиректится на другой домен.

Размещено в Хостинг и отмечено , , , .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.