Перейти к основному содержимому

Как настроить перенаправление с HTTP на HTTPS на сайте с установленным SSL-сертификатом?

После завершения развертывания SSL-сертификата необходимо настроить правило принудительного перенаправления 301 на сервере, чтобы обеспечить зашифрованный доступ по HTTPS для всего сайта. Конкретные способы настройки для разных серверов:

Подсказка

После настройки очистите кеш браузера перед тестированием. Рекомендуется использовать инструмент проверки SSL от Racent для проверки статуса перенаправления

Nginx​

Если вам нужно автоматически перенаправлять HTTP-запросы на HTTPS, вы можете сделать это следующим образом:

  1. Используйте функцию перенаправления Nginx: в HTTP-разделе server добавьте return 301 https://$host$request_uri;, и тогда запросы HTTP будут перенаправляться на HTTPS. Измените содержимое следующим образом:

    server {
    listen 80;
    #把http的域名请求转成https
    return 301 https://$host$request_uri;
    }

  2. Перезапустите сервер Nginx, после чего можно будет обращаться к сайту по доменному имени: HTTP будет автоматически перенаправляться на HTTPS.

Подсказка

Полную инструкцию по установке SSL-сертификата см. в Руководстве по установке SSL-сертификата sslTrus на сервере Nginx


Tomcat​

Если вам необходимо автоматически перенаправлять HTTP-запросы на HTTPS, вы можете настроить это следующим образом:

  1. Отредактируйте файл /usr/tomcat9.0.13/conf в каталоге web.xml, найдите тег </welcome-file-list>.

  2. После закрывающего тега </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>
  3. Отредактируйте файл server.xml в каталоге /usr/tomcat9.0.13/conf и измените параметр redirectPort на порт SSL connector, то есть порт 443. Как показано ниже:

    <Connector port="80" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="443" />
  4. Сохраните файл конфигурации и выполните следующую команду в каталоге bin, чтобы убедиться, что конфигурация верна.

    ./configtest.sh
  5. Если конфигурация в порядке, перезапустите сервер Tomcat, чтобы получить доступ через доменное имя и реализовать автоматическое перенаправление HTTP на HTTPS.

    ./shutdown.sh  #Остановить сервер Tomcat
    ./startup.sh #Запустить сервер Tomcat
Подсказка

Полную процедуру установки SSL-сертификата см. в руководстве по установке SSL-сертификата sslTrus на сервер Tomcat


IIS​

  1. Откройте диспетчер служб IIS.

  2. Выберите имя сайта в разделе «Веб-сайты» и двойным щелчком откройте «URL Rewrite». Как показано ниже:

    Внимание

    Перед выполнением этого шага загрузите и установите модуль URL Rewrite.

    IIS

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

    IIS

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

    IIS

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

    IIS

    • Имя: введите Http redirect to https.
    • URL соответствия: в поле «Шаблон» вручную введите (.*).
    • Условия:
      • Нажмите «Добавить», откроется окно «Добавить условие».
      • Ввод условия: {HTTPS}.
      • Проверить, соответствует ли входная строка: по умолчанию выбрано «Соответствует шаблону».
      • Шаблон: вручную введите ^OFF$.
    • Действие: заполните следующие параметры.
      • Тип действия: выберите «Перенаправление».
      • URL перенаправления: https://{HTTP_HOST}/{R:1}.
      • Тип перенаправления: 301 перенаправление.
  6. Нажмите Применить в столбце «Действия» справа, чтобы сохранить.

  7. Вернитесь на главную страницу сайта и нажмите Перезапустить в столбце «Управление сайтом» справа. После этого сайт будет доступен по HTTPS.

Подсказка

Полную инструкцию по установке SSL-сертификата см. в руководстве Учебник по установке SSL-сертификата sslTrus на сервере IIS


Apache​

Если вам необходимо автоматически перенаправлять HTTP-запросы на HTTPS, вы можете настроить это следующим образом:

  1. Отредактируйте файл конфигурации httpd.conf в каталоге /etc/httpd/conf. Проверьте, есть ли в этом файле конфигурации LoadModule rewrite_module modules/mod_rewrite.so. Если есть, удалите символ комментария (#) в начале первой строки; если нет, добавьте эту строку LoadModule rewrite_module modules/mod_rewrite.so и сохраните файл конфигурации.

  2. Откройте файл http.conf и добавьте в файл конфигурации следующее содержимое:

    <VirtualHost *:80>
    # Добавлено
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    </VirtualHost>
  3. Перезапустите сервер Apache, после чего можно будет использовать доменное имя для доступа и реализовать автоматическое перенаправление HTTP на HTTPS.

Подсказка

Полную процедуру установки SSL-сертификата смотрите в руководстве по установке SSL-сертификата sslTrus на сервере Apache


Apache2​

Если вам необходимо автоматически перенаправлять HTTP-запросы на HTTPS, вы можете настроить это следующим образом:

  1. В командной строке введите a2enmod rewrite, чтобы включить модуль перенаправления.

  2. Затем откройте файл конфигурации 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>
  3. Перезапустите сервер Apache, после чего можно будет использовать доменное имя для доступа и реализовать автоматическое перенаправление HTTP на HTTPS.

Подсказка

Полную процедуру установки SSL-сертификата смотрите в руководстве по установке SSL-сертификата sslTrus на сервере Apache2