В этой статье:

Шаг 1. Установка OpenSSL

Шаг 2. Создание сертификата безопасности

Корневой сертификат

Сертификат сервера

Шаг 3. Импорт корневого сертификата в хранилище

Шаг 4. Настройка веб-сервера

Шаг 5. Открытие веб-приложения по протоколу HTTPS

Настройка веб-приложения для работы через HTTPS

Для настройки безопасной работы веб-приложения по протоколу HTTPS требуется сертификат безопасности, который включает в себя набор сгенерированных сертификатов:

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

Сертификат безопасности генерируется с помощью специальных криптографических программных средств, например, OpenSSL. Для генерации сертификата выполните шаги 1, 2. Если сертификат уже получен, то разместите его в указанной папке и перейдите к шагу 3.

Шаг 1. Установка OpenSSL

Шаги по установке OpenSSL отличаются в зависимости от используемой операционной системы.

Для установки OpenSSL в ОС Linux выполните команду:

  • Debian-подобные дистрибутивы, ALT Linux:

sudo apt-get install openssl

  • RedHat-подобные дистрибутивы:

sudo yum install openssl

После выполнения действий будет установлена библиотека OpenSSL.

Для установки OpenSSL в ОС Windows:

  1. Скачайте и запустите инсталлятор OpenSSL. По умолчанию OpenSSL устанавливается в папку C:\Program Files\OpenSSL-Win64.

  2. Добавьте в системную переменную PATH путь до папки bin - C:\Program Files\OpenSSL-Win64\bin.

После выполнения действий будет установлена библиотека OpenSSL.

Шаг 2. Создание сертификата безопасности

Предварительно создайте папку, в которой будет храниться сертификат безопасности.

Для создания папки в ОС Linux и раздачи прав доступа к ней выполните команды:

  • Debian-подобные дистрибутивы:

mkdir /etc/apache2-fp10.x-web/ssl
sudo chmod 0600 /etc/apache2-fp10.x-web/ssl
sudo chown -R www-data:www-data /etc/apache2-fp10.x-web/ssl

  • RedHat-подобные дистрибутивы:

mkdir /etc/httpd-fp10.x-web/ssl
sudo chmod 0600 /etc/httpd-fp10.x-web/ssl
sudo chown -R apache:apache /etc/httpd-fp10.x-web/ssl

  • ALT Linux:

mkdir /etc/httpd2-fp10.x-web/ssl
sudo chmod 0600 /etc/httpd2-fp10.x-web/ssl
sudo chown -R apache2:apache2 /etc/httpd2-fp10.x-web/ssl

После выполнения команд будут созданы папки:

  • /etc/apache2-fp10.x-web/ssl в Debian-подобных дистрибутивах;

  • /etc/httpd-fp10.x-web/ssl в RedHat-подобных дистрибутивах;

  • /etc/httpd2-fp10.x-web/ssl в ALT Linux.

В ОС Windows создайте папку C:\certs.

В процессе создания сертификата безопасности будут созданы следующие файлы:

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

Для выполнения команд в ОС Windows перейдите в директорию с установленным OpenSSL:

cd C:\Program Files\OpenSSL-Win64

Корневой сертификат

Для создания корневого сертификата выполните команду:

openssl req -newkey rsa:2048 -nodes -keyform PEM -keyout <путь до папки>\ca.key -x509 -days 1000 -outform PEM -out <путь до папки>\ca.cer

В процессе выполнения команды заполните дополнительные данные о сертификате, запрашиваемые в интерактивном режиме. После выполнения команды будет создан корневой сертификат ca.cer и закрытый ключ шифрования ca.key в указанной папке.

Сертификат сервера

Для создания сертификата сервера:

  1. Сгенерируйте закрытый ключ шифрования для сертификата сервера:

openssl genrsa -out <путь до папки>\server.key 2048

  1. Создайте запрос на подпись сертификата сервера:

openssl req -new -key <путь до папки>\server.key -out <путь до папки>\server.req

В процессе выполнения команды заполните дополнительные данные о сертификате, запрашиваемые в интерактивном режиме.

  1. Подпишите созданный запрос корневым сертификатом и сгенерируйте сертификат сервера:

openssl x509 -req -in <путь до папки>\server.req -CA <путь до папки>\ca.cer -CAkey <путь до папки>\ca.key -set_serial 100 -days 365 -outform PEM -out <путь до папки>\server.cer

  1. Экспортируйте сертификат сервера и закрытый ключ шифрования в сертификат в формате PKCS#12 (PFX) в ОС Windows:

openssl pkcs12 -export -inkey c:\certs\server.key -in c:\certs\server.cer -out c:\certs\server.pfx

  1. Выполните действия в зависимости от операционной системы:

rm <путь до папки>\server.req

del c:\certs\server.cer c:\certs\server.key c:\certs\server.req

После выполнения действий:

Шаг 3. Импорт корневого сертификата в хранилище

Для импорта корневого сертификата в хранилище доверенных корневых центров сертификации используйте поддерживаемый браузер или средства операционной системы. Средствами операционной системы можно импортировать сертификат в хранилище только в ОС Windows.

Рассмотрим импорт сертификата на примере Mozilla Firefox:

  1. Откройте настройки браузера по адресу:

about:preferences

  1. Перейдите в раздел «Приватность и Защита».

  2. Нажмите кнопку «Просмотр сертификатов» в подразделе «Сертификаты». После чего будет открыто окно «Управление сертификатами».

  3. Нажмите кнопку «Импортировать» на вкладке «Центры сертификации». После чего будет выдан стандартный диалог выбора файла.

  4. Выберите корневой сертификат ca.cer. После чего будет открыто окно «Загрузка сертификата».

  5. Установите флажок «Доверять при идентификации веб-сайтов».

После выполнения действий корневой сертификат будет импортирован в хранилище доверенных корневых центров сертификации.

Шаг 4. Настройка веб-сервера

Шаги по настройке отличаются в зависимости от используемого веб-сервера и операционной системы.

Для настройки веб-сервера Apache2 в ОС Linux:

  1. Подключите модуль mod_ssl:

    • Debian-подобные дистрибутивы:

sudo a2enmod-fp10.x ssl
sudo a2enmod-fp10.x-web ssl
sudo a2ensite-fp10.x-web default-ssl

    • RedHat-подобные дистрибутивы:

sudo yum -y install mod_ssl

    • ALT Linux:

sudo /usr/sbin/a2enmod-fp10.x ssl
sudo /usr/sbin/a2enmod-fp10.x-web ssl
systemctl condreload httpd2-fp10.x-web.service

После выполнения действий будет подключен модуль mod_ssl. Для получения подробной информации о модуле обратитесь к документации Apache2.

Примечание. Для HTTPS-соединений открыт 443 TCP-порт, mod_ssl использует пакет openssl и по умолчанию отключена поддержка протокола SSLv2.

Для RedHat-подобных дистрибутивов будет создан файл конфигурации /etc/httpd-fp10.x-web/conf.d/ssl.conf со строкой подключения модуля:

LoadModule ssl_module modules/mod_ssl.so

Для ALT Linux будет создан файл конфигурации /etc/httpd2-fp10.x-web/conf/mods-enabled/ssl.load со строкой подключения модуля:

LoadModule ssl_module /usr/lib64/apache2/modules/mod_ssl.so

  1. Добавьте параметры SSL в раздел <VirtualHost> в файле:

    • /etc/apache2-fp10.x-web/sites-available/webserver.conf в Debian-подобных дистрибутивах;

    • /etc/httpd-fp10.x-web/conf.d/00-virtualhost.conf в RedHat-подобных дистрибутивах;

    • /etc/httpd2-fp10.x-web/conf/sites-enabled/000-default.conf в ALT Linux.

SSLProxyEngine On
SSLProxyCheckPeerCN On
SSLProxyCheckPeerExpire On
SSLEngine On
SSLCertificateFile <путь до папки>/server.cer
SSLCertificateKeyFile <путь до папки>/server.key

Параметр SSLProxyCheckPeerCN проверяет имя сервера, указанного в интерактивном режиме при генерации корневого сертификата и сертификата сервера в параметре Common Name. Если используются разные сервера, то измените значение параметра SSLProxyCheckPeerCN на «Off».

  1. Измените протокол HTTP на HTTPS и номер порта, если он отличается от порта по умолчанию - 443:

  2. Перезапустите веб-сервер:

    • Debian-подобные дистрибутивы:

sudo systemctl restart apache2-fp10.x-web

    • RedHat-подобные дистрибутивы:

sudo systemctl restart httpd-fp10.x-web

    • ALT Linux:

sudo systemctl restart httpd2-fp10.x-web

После выполнения действий будет настроен веб-сервер Apache2.

Для настройки веб-сервера IIS в ОС Windows откройте диспетчер служб IIS на начальной странице и выполните действия:

  1. Откройте функцию «Сертификаты сервера» в разделе «IIS» двойным щелчком мыши или с помощью команды контекстного меню «Открытие функции».

  2. Выполните команду «Импортировать» на панели «Действия». После чего будет открыто окно «Импорт сертификата»:

  1. Задайте параметры:

    • Файл сертификата (.pfx). Укажите путь до сертификата сервера server.pfx;

    • Пароль. Укажите пароль, который использовался при создании сертификата сервера;

    • Выбрать хранилище сертификатов. Выберите в раскрывающемся списке «Размещение веб-служб».

  1. Нажмите кнопку «ОК».

  2. Выберите сайт в дереве «Подключения» и выполните команду «Привязки» на панели «Действия». После чего будет открыто окно «Привязки сайта».

  3. Нажмите кнопку «Добавить». После чего будет открыто окно «Добавление привязки сайта»:

  1. Задайте параметры:

    • Тип. Выберите в раскрывающемся списке «https»;

    • SSL-сертификат. Выберите в раскрывающемся списке сервер, соответствующий импортированному сертификату сервера.

  2. Измените протокол HTTP на HTTPS в файлах конфигурации веб-приложения PP.xml, config.json.

  3. Выберите сервер в дереве «Подключения» и выполните команду «Перезапустить» на панели «Действия».

После выполнения действий будет настроен веб-сервер IIS.

Шаг 5. Открытие веб-приложения по протоколу HTTPS

Для открытия веб-приложения по протоколу HTTPS используйте поддерживаемый браузер и укажите адрес в строке подключения:

https://<веб-сервер>/fp10.x/r/

https://<веб-сервер>/FP_App_v10.x/r/

Где:

См. также:

Настройка конфигурации веб-приложения | Открытие веб-приложения