Как настроить перенаправление с HTTP на HTTPS на сайте с установленным SSL-сертификатом?
После завершения развертывания SSL-сертификата необходимо настроить правило принудительного перенаправления 301 на сервере, чтобы обеспечить зашифрованный доступ по HTTPS для всего сайта. Конкретные способы настройки для разных серверов:
После настройки очистите кеш браузера перед тестированием. Рекомендуется использовать инструмент проверки SSL от Racent для проверки статуса перенаправления
Nginx
Если вам нужно автоматически перенаправлять HTTP-запросы на HTTPS, вы можете сделать это следующим образом:
-
Используйте функцию перенаправления Nginx: в HTTP-разделе
serverдобавьтеreturn 301 https://$host$request_uri;, и тогда запросы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