← Cloudflare SSL/TLS / ssl / keyless-ssl / configuration
Запуск с помощью Docker
gokeyless сервер ключей публикуется в виде образа контейнера, и большинство настроек можно задать через переменные окружения вместо gokeyless.yaml файл.
Загрузите образ
docker pull ghcr.io/cloudflare/gokeyless:latestПолный пример доступен в docker-compose.example.yaml ↗ в репозитории gokeyless.
Переменные окружения
Каждая переменная окружения соответствует аналогичной настройке в gokeyless.yaml. Если присутствуют оба варианта, приоритет имеет переменная окружения (порядок такой: флаг командной строки, затем переменная окружения, затем файл конфигурации).
| Переменная окружения | Назначение |
|---|---|
KEYLESS_HOSTNAME |
Имя хоста этого сервера ключей (должно совпадать со значением, настроенным в Cloudflare). |
KEYLESS_ZONE_ID |
Cloudflare Zone ID. |
KEYLESS_ORIGIN_CA_API_KEY |
Ключ API Origin CA используется для регистрации сервера ключей и получения его сертификата аутентификации. |
KEYLESS_AUTH_CERT |
Путь к сертификату аутентификации сервера ключей (по умолчанию server.pem). |
KEYLESS_AUTH_KEY |
Путь к приватному ключу сертификата аутентификации (по умолчанию server-key.pem). |
KEYLESS_AUTH_CSR |
Путь для записи CSR, созданного при инициализации (по умолчанию server.csr). |
KEYLESS_CLOUDFLARE_CA_CERT |
Путь к сертификату CA Cloudflare, используемому для аутентификации подключающихся клиентов ключей (по умолчанию keyless_cacert.pem). |
KEYLESS_PORT |
Порт, который прослушивает сервер ключей (по умолчанию 2407). |
KEYLESS_METRICS_PORT |
Порт для /metrics конечную точку (по умолчанию 2406). |
KEYLESS_LOGLEVEL |
Уровень детализации журнала, 0 (наиболее подробный) до 5. |
Настройка приватных ключей
Расположение приватного ключа не может можно задать с помощью переменной окружения. Настройте их с помощью private_key_stores блок в gokeyless.yaml (каждая запись задаёт ровно один из dir, file, или uri), либо с помощью --private-key-dirs / --private-key-files флаги (через запятую), передаваемые в качестве аргументов после имени образа.
Запуск контейнера
docker run -d \
-e KEYLESS_HOSTNAME=<KEY_SERVER_HOSTNAME> \
-e KEYLESS_ZONE_ID=<ZONE_ID> \
-e KEYLESS_AUTH_CERT=/config/server.pem \
-e KEYLESS_AUTH_KEY=/config/server-key.pem \
-e KEYLESS_CLOUDFLARE_CA_CERT=/config/keyless_cacert.pem \
-v /local/config:/config:ro \
-v /local/keys:/keys:ro \
-p 2407:2407 \
ghcr.io/cloudflare/gokeyless:latest \
--private-key-dirs /keysEntrypoint образа: gokeyless, поэтому любые флаги командной строки (такие как --private-key-dirs) добавляются после имени образа.
Обслуживайте несколько закрытых ключей
Один сервер ключей может хранить закрытые ключи для нескольких сертификатов. Укажите несколько каталогов или файлов с помощью --private-key-dirs / --private-key-files (через запятую), либо определите несколько private_key_stores записи в gokeyless.yaml.