bg-tutorials

Как установить SSL-сертификат на сервере 4D

В этом руководстве вы узнаете, как установить SSL-сертификат на 4D Server. 4D защищает свой встроенный веб-сервер с помощью двух файлов PEM: cert.pem (ваш сертификат) и key.pem (ваш закрытый ключ), которые размещаются рядом с папкой проекта, после чего вы включаете HTTPS в настройках 4D.

Создание кода CSR на 4D Server

CSR (запрос на подписание сертификата) — это блок закодированного текста с вашими контактными данными, который требуется удостоверяющему центру (CA) для проверки и выпуска вашего SSL-сертификата. У вас есть два варианта:

  • Используйте наш Генератор CSR, чтобы автоматически создать CSR. Это простой процесс, не требующий технических знаний.
  • Следуйте нашему подробному руководству о том, как создать CSR на 4D Server.

Откройте ваш файл CSR в текстовом редакторе и скопируйте его содержимое в соответствующее поле в процессе заказа SSL. Отправьте CSR в удостоверяющий центр (CA), и после того как CA его проверит и выпустит ваш сертификат, продолжите установку, описанную ниже.

Установка SSL-сертификата на 4D Server

4D использует собственные файлы для TLS, а не директиву конфигурации. Вы предоставляете сертификат и ключ в виде файлов PEM в фиксированном месте, добавляете промежуточные сертификаты, а затем включаете HTTPS в настройках.

Шаг 1: Подготовьте ваши файлы PEM

После того как удостоверяющий центр отправит ваш сертификат по электронной почте, загрузите ZIP-архив и извлеките его. 4D принимает сертификаты только в формате PEM (обычный текстовый x509). Имена файлов фиксированы:

  • cert.pem: ваш сертификат домена. Если ваш CA отправил файл .crt, откройте его в текстовом редакторе и сохраните содержимое в обычный текстовый файл с именем cert.pem. Имя файла должно быть точно cert.pem.
  • key.pem: закрытый ключ, который вы сгенерировали вместе с CSR. Имя файла должно быть точно key.pem.

Сертификат PEM представляет собой обычный текст, ограниченный строками заголовка и окончания, как показано ниже:

-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRA...
...your encoded certificate...
-----END CERTIFICATE-----

Куда поместить файлы. При использовании 4D или 4D Server в локальном режиме поместите cert.pem и key.pem рядом с папкой проекта (папкой, содержащей структуру вашей базы данных). Для клиента 4D в удаленном режиме поместите их в папку базы данных клиента на удаленной машине. Если вы формируете путь в коде, команда Get 4D folder возвращает активную папку 4D, чтобы вы могли найти нужный каталог.

Шаг 2: Добавьте промежуточные и корневые сертификаты

Браузерам необходима полная цепочка, поэтому пакет CA (промежуточный, а иногда и корневой сертификат) должен быть доступен вместе с вашим сертификатом. В 4D есть два способа его предоставить:

  • Отдельные файлы PEM (рекомендуется). Сохраните каждый промежуточный (и корневой) сертификат как отдельный файл .pem в той же папке, что и cert.pem. Дополнительные файлы могут иметь любое имя, если у них расширение .pem. 4D считывает каждый файл .pem в этой папке и собирает цепочку.
  • Один объединенный файл. В качестве альтернативы вставьте ваш сертификат, а затем каждый промежуточный сертификат (по порядку, начиная с конечного) в единый файл cert.pem, сохраняя каждую строку BEGIN/END без изменений.

Держите папку в чистоте. 4D загружает каждый файл .pem, который находит рядом с папкой проекта. Удалите любые оставшиеся файлы .pem от предыдущего сертификата, поскольку устаревший или несоответствующий файл может привести к тому, что веб-сервер откажет в HTTPS-соединениях.

Более старые версии 4D. В версиях, выпущенных до текущей модели папки PEM, требовалось наличие TLS-компонента: 4DSLI.DLL в Windows (рядом с исполняемым файлом 4D или 4D Server) или 4DSLI.bundle в macOS (в подпапке Native Components пакета 4D). Текущие версии 4D обрабатывают TLS внутренне, поэтому этот компонент больше не требуется добавлять вручную. Если вы используете более старую версию, убедитесь, что этот компонент установлен, прежде чем включать HTTPS.

Шаг 3: Включите HTTPS в настройках 4D

После размещения файлов включите HTTPS для веб-сервера 4D:

  1. Откройте Settings (в текущей версии 4D — меню Design или Structure; в старых версиях это диалоговое окно называется Database Settings).
  2. Выберите раздел Web.
  3. Откройте страницу Configuration и отметьте Enable HTTPS. Оставьте HTTPS Port по умолчанию равным 443, если ваша конфигурация не требует другого порта.
  4. Нажмите OK, чтобы сохранить.

По умолчанию минимальный протокол, принимаемый 4D, — TLS 1.2. Вы можете поднять этот минимум до TLS 1.3 с помощью свойства веб-сервера minTLSVersion, если это требуется по вашей политике безопасности, или снизить его только в том случае, если необходимо поддерживать более старые клиенты. Держите минимум на уровне TLS 1.2 или выше.

Шаг 4: Перезапустите веб-сервер и проверьте результат

Остановите и запустите веб-сервер 4D, чтобы он загрузил файлы сертификата. При первом запуске HTTPS, если файл dhparams.pem еще не существует, 4D создаст его (2048-битный) и поместит рядом с cert.pem и key.pem. Это может занять минуту или две, поэтому дождитесь завершения процесса.

Откройте ваш сайт по адресу https:// и убедитесь, что появился значок замка. После установки проверьте сертификат на наличие проблем с цепочкой или конфигурацией с помощью нашего SSL Checker, который выдает мгновенный отчет о сертификате и способе его подачи. Отсутствующий промежуточный сертификат — наиболее распространенная проблема, и такая проверка сразу ее выявляет.

Дополнительно: включите HSTS. Как только HTTPS начнет работать надежно, вы можете указать браузерам всегда использовать защищенную версию сайта. В Settings откройте раздел Web, перейдите на страницу Options (II) и отметьте Enable HSTS. Включайте эту функцию только после того, как убедитесь в стабильной работе HTTPS, поскольку отменить ее сложно, пока политика кэшируется в браузерах.

Часто задаваемые вопросы

Какой формат файла требуется 4D Server для SSL-сертификатов?

Только PEM. Сертификат и ключ должны быть обычными текстовыми файлами PEM с именами cert.pem и key.pem. Если ваш удостоверяющий центр отправил файл .crt или .cer, откройте его в текстовом редакторе и сохраните содержимое в файл с именем cert.pem. В тексте должны сохраняться строки ——BEGIN CERTIFICATE—— и ——END CERTIFICATE——.

Куда поместить файлы сертификата на 4D Server?

Поместите cert.pem и key.pem рядом с папкой проекта (папкой, содержащей структуру вашей базы данных) для 4D или 4D Server в локальном режиме. Для клиента 4D в удаленном режиме поместите их в папку базы данных клиента на удаленной машине. Любые промежуточные или корневые сертификаты размещаются в той же папке в виде отдельных файлов .pem.

Как добавить промежуточный сертификат (пакет CA) на 4D?

Сохраните каждый промежуточный и корневой сертификат в виде отдельного файла .pem в той же папке, что и cert.pem. Дополнительные файлы могут иметь любое имя, если у них расширение .pem, и 4D собирает цепочку из каждого найденного файла .pem. Удалите все оставшиеся файлы .pem от старого сертификата, поскольку устаревший файл может привести к тому, что веб-сервер откажет в HTTPS-соединениях.

Как включить HTTPS в 4D?

Откройте Settings (в старых версиях называется Database Settings), выберите раздел Web, откройте страницу Configuration и отметьте Enable HTTPS. Порт HTTPS по умолчанию — 443. Сохраните и перезапустите веб-сервер 4D, чтобы он загрузил файлы сертификата.

Почему первый запуск HTTPS занимает так много времени?

Если 4D не находит файл dhparams.pem, он создает его (2048-битный) при первом запуске HTTPS и сохраняет рядом с cert.pem и key.pem. Это может занять минуту или две. Дайте процессу завершиться, и последующие запуски будут быстрыми.

Мой браузер показывает, что сайт не защищен. Что не так?

Обычные причины — отсутствующий промежуточный сертификат, несоответствие cert.pem и key.pem, или устаревший файл .pem, оставшийся в папке. Убедитесь, что цепочка полная, что ключ соответствует сертификату, и что в папке присутствуют только текущие файлы сертификата, затем перезапустите веб-сервер. Запустите наш SSL Checker, чтобы точно узнать, какая часть цепочки отсутствует.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете
Написано

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