Установка собственного SSL-сертификата для FAST-ноды
Необходимые условия
Эта инструкция предполагает, что:
- Ваш браузер настроен на использование FAST-ноды в качестве HTTP- и HTTPS-прокси.
- Ваш браузер уже доверяет SSL-сертификату, который вы собираетесь установить для FAST-ноды.
Требования к сертификату
Для успешного выполнения этой инструкции ваш SSL-сертификат должен быть корневым или промежуточным.
Кроме этого, сертификат и соответствущий ему закрытый ключ должны быть закодированы с помощью PEM. Если ваш сертификат имеет другую кодировку, вы можете воспользоваться любым доступным инструментом с функцией конвертации сертификатов, например, OpenSSL.
Установка SSL-сертификата
Для того, чтобы установить SSL-сертификат для FAST-ноды, выполните следующие действия:
Убедитесь, что у вас уже есть SSL-сертификат, а также закрытый ключ, которым подписан этот сертификат, в формате PEM.
Поместите файл сертификата и файл ключа в одну директорию на хосте Docker. Это нужно для того, чтобы на следующих шагах примонтировать эту директорию в Docker-контейнер с FAST-нодой.
Укажите FAST-ноде на место расположения сертификата и ключа с помощью следующих переменных среды окружения:
CA_CERT=<внутренний путь до сертификата> CA_KEY=<внутренний путь до ключа>
В строках выше замените значения
<внутренний путь до сертификата>
и<внутренний путь до ключа>
на предполагаемый путь до сертификата и до закрытого ключа после монтирования директории с сертификатом и ключом в контейнер Docker.Разверните Docker-контейнер с FAST-нодой, выполнив следующую команду:
docker run --name <имя> \ -e WALLARM_API_TOKEN=<токен> \ -e ALLOWED_HOSTS=<список хостов> \ -e CA_CERT=<путь к файлу с сертификатом> \ -e CA_KEY=<путь к файлу с приватным ключом> \ -v <путь до директории с сертификатом и ключом>:<внутренний путь до директории> \ -p <порт для публикации>:8080 \ wallarm/fast
В этой команде задаются:
- имя контейнера;
- токен и список хостов целевого приложения с помощью переменных среды окружения
WALLARM_API_TOKEN
иALLOWED_HOSTS
(испоьзование этой переменной необязательно); - расположение файла SSL-сертификата внутри контейнера с помощью переменной
CA_CERT
; - расположение файла с приватным ключом внутри контейнера с помощью переменной
CA_KEY
; - порт для публикации.
Также директория с файлами сертификата и ключа на хосте Docker
<путь до директории с сертификатом и ключом>
монтируется в контейнер Docker с помощью опции-v
командыdocker run
, при этом содержимое этой директории становится доступно внутри контейнера по пути<внутренний путь до директории>
.На этом шаге SSL-сертификат должен быть успешно установлен. Теперь ваш экземпляр FAST-ноды будет проксировать HTTPS-запросы без сообщений о недоверенных сертификатах.
Пример установки SSL-сертификата
Пусть верно следующее:
- Файлы с SSL-сертификатом
cert.pem
и соответствующим закрытым ключомcert.key
находятся в директории/home/user/certs
хоста Docker, на котором будет запущена FAST-нода. - Содержимое директории
/home/user/certs
будет доступно внутри контейнера с FAST-нодой по следующему пути:/tmp/certs
. - Используется токен FAST
fast_token
. - Используется следующий список хостов:
example.com
. - FAST-нода будет запущена в контейнере с именем
fast-node
и ее внутренний порт8080
будет опубликован вlocalhost:8080
.
Тогда для подключения SSL-сертификата в FAST-ноду требуется выполнить следующую команду:
docker run --name fast-node \
-e WALLARM_API_TOKEN="fast_token" \
-e ALLOWED_HOSTS="example.com" \
-e CA_CERT="/tmp/certs/cert.pem" \
-e CA_KEY="/tmp/certs/cert.key" \
-v /home/user/certs:/tmp/certs \
-p 8080:8080 \
wallarm/fast
results matching ""
No results matching ""
results matching ""
No results matching ""