INTEGRITY Документация

Устранение неполадок

Проверьте журналы

Чтобы проверить журналы, используйте команду, похожую на следующую.

Включение отладочного логирования

Чтобы включить отладочное логирование, используйте команду, подобную следующей.

cd /etc/keyless
sudo -u keyless gokeyless --loglevel 0

При запуске в контейнере gokeyless является основным процессом контейнера (PID 1), поэтому приведенная выше команда host/systemd не применяется. Вместо этого задайте уровень логирования при запуске контейнера и считывайте логи из среды выполнения контейнера:

# Set verbosity via environment variable
docker run ... -e KEYLESS_LOGLEVEL=0 ghcr.io/cloudflare/gokeyless:latest

# Read logs
docker logs -f <CONTAINER>   # or: kubectl logs -f <POD>

В браузерах возникает сбой TLS-соединения при попытке подключения

  1. Убедитесь, что ваш сервер ключей доступен извне вашей сети (tcp/2407).
  2. Предоставьте файл захвата пакетов: sudo tcpdump -nni <interface> -s 0 -w keyless-$(date +%s).pcap port 2407

Клиенты подключаются, но сразу же разрывают соединение

Если вы выполните gokeyless с включённым отладочным логированием, и видите в логах примерно следующее:

[DEBUG] connection 162.158.57.220:37490: reading half closed by client
[DEBUG] connection 162.158.57.220:37490: server closing connection
[DEBUG] connection 162.158.57.220:37490 removed
[DEBUG] spawning new connection: 162.158.57.220:37862
[DEBUG] connection 162.158.57.220:37862: reading half closed by client
[DEBUG] connection 162.158.57.220:37862: server closing connection
[DEBUG] connection 162.158.57.220:37862 removed

Эти журналы, скорее всего, указывают на то, что сервер ключей не использует подходящий сервер или .PEM файл, и клиент разрывает соединение после обмена сертификатами. Сертификат должен быть подписан ЦС Keyless SSL, а в SAN должно быть указано имя хоста keyless-сервера. Ниже приведён корректный пример для keyless-сервера, расположенного по адресу 11aa40b4a5db06d4889e48e2f.example.com (обратите внимание на Subject Alternative Name и Authority Key Identifier):

openssl x509 -in server.pem -noout -text -certopt no_subject,no_header,no_version,no_serial,no_signame,no_validity,no_subject,no_issuer,no_pubkey,no_sigdump,no_aux | sed -e 's/^        //'
X509v3 extensions:
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    X509v3 Extended Key Usage:
        TLS Web Server Authentication
    X509v3 Basic Constraints: critical
        CA:FALSE
    X509v3 Subject Key Identifier:
        DD:24:97:F1:A9:F1:4C:73:D9:1B:44:EC:A1:C3:10:E9:F0:41:98:BB
    X509v3 Authority Key Identifier:
        keyid:29:CE:8F:F1:9D:4C:BA:DE:55:78:D7:A6:29:E9:C5:FD:1D:9D:21:48

    X509v3 Subject Alternative Name:
        DNS:11aa40b4a5db06d4889e48e2f.example.com
    X509v3 CRL Distribution Points:

        Full Name:
          URI:http://ca.cfdata.org/api/v1/crl/key_server

Бинарный файл gokeyless не может загрузить файл CA

Убедитесь, что права доступа ко всем ключам и сертификатам, установленным на сервере, заданы правильно.

Keyless затрагивает непредвиденные хосты

Вам нужно будет либо предоставить сертификат только для этих хостов, либо изменить приоритет сертификата в разделе SSL/TLS app панели управления Cloudflare.

Серверы ключей в Windows

На данный момент Cloudflare предоставляет пакеты только для поддерживаемых дистрибутивов GNU/Linux, указанных в репозиторий пакетов Cloudflare.

Сервер ключей распространяется с открытым исходным кодом, поэтому вы можете попытаться собрать и развернуть его самостоятельно, но запуск в Windows не поддерживается, и в этом случае Cloudflare не сможет помочь вам при возникновении проблем.

Поддержка нескольких доменов на сервере ключей

Один сервер ключей может обслуживать несколько доменов. Добавьте закрытый ключ каждого сертификата в private_key_stores блок в gokeyless.yaml, либо передайте их с --private-key-dirs / --private-key-files. См. Обслуживайте несколько закрытых ключей для получения подробностей.

hostname и zone_id поля являются одиночными строковыми значениями, которые используются только при регистрации. Обновлять их для дополнительных доменов не требуется.

Дополнительные вопросы

Свяжитесь с вашей командой Account Team или Служба поддержки Cloudflare.