Как настроить перенаправление с HTTP на HTTPS для сайта с установленным SSL-сертификатом?
После завершения развертывания SSL-сертификата необходимо настроить правило принудительного перенаправления 301 на сервере, чтобы обеспечить доступ ко всему сайту по зашифрованному HTTPS. Конкретные методы для разных серверов:
После настройки очистите кэш браузера перед проверкой. Рекомендуется использовать инструмент проверки SSL от Racent для проверки статуса переадресации.
Nginx
Если вам нужно автоматически перенаправлять HTTP-запросы на HTTPS, вы можете сделать это следующим образом:
-
Используйте функцию перенаправления Nginx и добавьте
return 301 https://$host$request_uri;вserverдля HTTP, чтобы перенаправлять запросыHTTPнаHTTPS. Измените следующим образом:server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
} -
Перезапустите сервер Nginx, после чего можно будет обращаться к сайту по доменному имени. Автоматический переход с
HTTPнаHTTPSбудет работать.
Полную инструкцию по установке SSL-сертификата см. в руководстве по установке SSL-сертификата sslTrus на сервере Nginx
Tomcat
Если вам необходимо автоматически перенаправлять HTTP-запросы на HTTPS, выполните следующие действия:
-
Отредактируйте файл
/usr/tomcat9.0.13/confв каталогеweb.xmlи найдите тег</welcome-file-list>. -
После закрывающего тега
</welcome-file-list>добавьте новую строку и вставьте следующее содержимое.<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint> -
Отредактируйте файл
server.xmlв каталоге/usr/tomcat9.0.13/confи измените параметрredirectPortна порт SSLconnector, то есть порт 443. Как показано ниже:<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" /> -
Сохраните файл конфигурации и выполните следующую команду в каталоге
bin, чтобы убедиться, что конфигурация верна../configtest.sh -
Если конфигурация в порядке, перезапустите сервер Tomcat, чтобы получить доступ к сайту по доменному имени и настроить автоматическое перенаправление с HTTP на HTTPS.
./shutdown.sh #Остановить сервер Tomcat
./startup.sh #Запустить сервер Tomcat
Полную инструкцию по установке SSL-сертификата см. в руководстве по установке SSL-сертификата sslTrus на сервере Tomcat
IIS
-
Откройте диспетчер служб IIS.
-
Выберите имя сайта в разделе «Сайты» и дважды щёлкните «URL Rewrite». Как показано ниже:
ВниманиеПеред выполнением этого шага загрузите и установите модуль URL Rewrite.

-
Перейдите на страницу «URL Rewrite» и нажмите Добавить правила на панели «Действия» справа. Как показано ниже:

-
В появившемся окне «Добавить правило» выберите Пустое правило и нажмите ОК. Как показано на рисунке ниже:

-
Перейдите на страницу «Изменение правила для входящих подключений». Как показано на рисунке ниже:

- Имя: введите Http redirect to https.
- URL соответствия: в поле «Шаблон» вручную введите
(.*). - Условия:
- Нажмите «Добавить», появится окно «Добавить условие».
- Ввод условия:
{HTTPS}. - Проверить, соответствует ли входная строка: по умолчанию выбрано «Соответствует шаблону».
- Шаблон: вручную введите
^OFF$.
- Действие: заполните следующие параметры.
- Тип действия: выберите «Перенаправление».
- URL перенаправления:
https://{HTTP_HOST}/{R:1}. - Тип перенаправления: 301 перенаправление.
-
Нажмите Применить в столбце «Действия» справа, чтобы сохранить.
-
Вернитесь на главную страницу сайта и нажмите Перезапустить в столбце «Управление сайтом» справа. После этого сайт будет доступен по HTTPS.
Полную инструкцию по установке SSL-сертификата смотрите в руководстве по установке SSL-сертификата sslTrus на сервере IIS
Apache
Если вам необходимо автоматически перенаправлять HTTP-запросы на HTTPS, вы можете выполнить следующие настройки:
-
Отредактируйте конфигурационный файл
httpd.confв каталоге/etc/httpd/conf. Проверьте, есть ли в этом конфигурационном файлеLoadModule rewrite_module modules/mod_rewrite.so. Если есть, удалите символ комментария (#) в начале строки, если нет, добавьте строкуLoadModule rewrite_module modules/mod_rewrite.soи сохраните конфигурационный файл. -
Откройте файл http.conf и добавьте в него следующее содержимое:
<VirtualHost *:80>
# Добавлено
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost> -
Перезапустите сервер Apache, после чего можно будет заходить по доменному имени — HTTP будет автоматически перенаправляться на HTTPS.
Полный порядок установки SSL-сертификата смотрите в руководстве по установке SSL-сертификата sslTrus на сервере Apache
Apache2
Если вам нужно автоматически перенаправлять HTTP-запросы на HTTPS, вы можете настроить это следующим образом:
-
В командной строке введите
a2enmod rewrite, чтобы включить модуль перенаправления. -
Затем откройте конфигурационный файл http, например:
/etc/apache2/sites-available/000-default.conf, и добавьте в него следующее содержимое:<VirtualHost *:80>
# Добавлено
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost> -
Перезапустите сервер Apache, после чего можно будет заходить по доменному имени — HTTP будет автоматически перенаправляться на HTTPS.
Полный порядок установки SSL-сертификата смотрите в руководстве по установке SSL-сертификата sslTrus на сервере Apache2