TLS Traefik: клиент не предоставил сертификат при доступе к конечной точке https - PullRequest
0 голосов
/ 04 января 2019

Вот моя конфигурация

[entryPoints]
  [entryPoints.http]
  address = ":801"

  [entryPoints.https]
  address = ":802"
  [entryPoints.https.tls]
    [entryPoints.https.tls.ClientCA]
      files = ["/etc/ssl/comodo/bundle.crt"]

      [[entryPoints.https.tls.certificates]]
        certFile = "/etc/ssl/comodo/www.crt"
        keyFile = "/etc/ssl/comodo/www.key"

[frontends]
    [frontends.http] # default
      entryPoints = ["http", "https"]
      backend = "fallback"
      passHostHeader = true

Теперь я пытаюсь получить доступ к https://mydomain:802 и получаю следующую ошибку в выводе отладки traefik http: TLS handshake error from 111.111.111.111:64463: tls: client didn't provide a certificate

сообщение об ошибке curl error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate

Я не могу понять, что я делаю неправильно.

1 Ответ

0 голосов
/ 15 января 2019

Почему вы хотите использовать взаимную аутентификацию (двустороннее рукопожатие)?Для обычных SSL-соединений достаточно сертификатов вашего сервера.

В вашем traefik.toml вы настраиваете Взаимная аутентификация .Если вы действительно этого хотите, вы должны предоставить сертификат в своем запросе curl:

curl --cert client.pem:<password> --key key.pem --cacert ca.pem

Если вы хотите предоставить только «обычный» SSL, вам следует удалить следующие строки:

    [entryPoints.https.tls.ClientCA]
      files = ["/etc/ssl/comodo/bundle.crt"]
...