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

Настройка сервера

Для взаимодействия приложений с веб-сервером «1С:Шина» использует протоколы HTTP и HTTPS. HTTPS обеспечивает безопасную передачу данных, шифруя трафик между клиентом и сервером. Это шифрование реализуется с помощью протокола TLS.

Принципы работы TLS-подключения

HTTPS-соединение с использованием TLS-протокола устанавливается следующим образом:

  1. Клиент отправляет запрос на сервер с информацией о поддерживаемых алгоритмах шифрования.
  2. Сервер отвечает, выбирая оптимальный алгоритм, и отправляет:
    • свой SSL-сертификат;
    • открытый ключ (для реализации асимметричного шифрования).
  3. Клиент проверяет:
    • подлинность — выдан ли сертификат удостоверяющим центром;
    • актуальность — не истек ли срок действия сертификата;
    • действительность — не отозван ли сертификат;
    • соответствие домену.
  4. Если проверка пройдена, устанавливается защищенное соединение — создаются сессионные закрытые ключи для симметричного шифрования:
    • клиент генерирует pre-master secret, шифрует его открытым ключом и отправляет серверу;
    • сервер расшифровывает его своим закрытым ключом;
    • обе стороны вычисляют общий симметричный ключ, который будет использоваться для шифрования передаваемых данных.
  5. Далее все передаваемые данные шифруются симметричными алгоритмами, каждая сессия использует уникальные ключи.

Пример настройки HTTPS для локального сайта на примере сертификата PFX

Формат PFX или PKCS#12 — это стандартный способ хранения и передачи SSL-сертификатов вместе с закрытым ключом в одном защищенном файле. Используется в Windows-системах и многих веб-серверах. Файл сертификата имеет расширение .pfx или .p12.

В этом примере используется утилита с открытым исходным кодом mkcert. Она позволяет создать локальный удостоверяющий центр, а также сгенерировать самоподписанные SSL-сертификаты для этого центра.

Чтобы настроить HTTPS для локального сайта, выполните следующие действия:

  1. Скачайте подходящий релиз утилиты, например mkcert-v1.4.4-windows-amd64.exe, и установите утилиту.
  2. Выполните команду mkcert-v1.4.4-windows-amd64.exe -install, чтобы создать локальный удостоверяющий центр.
  3. Выполните команду mkcert -pkcs12 localhost, чтобы сгенерировать закрытый ключ и сертификат. Скопируйте созданный файл localhost.p12 в data\security каталога экземпляра сервера.
  4. Задайте настройки сервера в файлах server.yml и security.yml для HTTPS-протокола.
  5. Откройте панель управления, чтобы проверить правильность настройки.