Вопрос 1
https://docs.traefik.io/configuration/entrypoints/#default-certificate, по-видимому, указывает на то, что если я не укажу certFile
или keyFile
, Traefik сгенерирует самозаверяющий сертификат и будет использовать вместо него.
Для каждой точки входа может быть установлен только один сертификат по умолчанию. Используйте один набор квадратных скобок [] вместо двух, необходимых для обычных сертификатов. Если сертификат по умолчанию не предоставлен, Traefik сгенерирует самозаверяющий сертификат и будет использовать его вместо него.
Однако, когда я пытаюсь это сделать и введите https://localhost/whoami, я получаю ошибку SSL от Chrome (ERR_SSL_PROTOCOL_ERROR). Логи также показывают level=error msg="failed to load X509 key pair: tls: failed to find any PEM data in certificate input"
. Я неправильно понял конфигурацию в этой документации?
Это код, который я должен проверить.
test.yml
version: '3.6'
services:
traefik:
image: traefik
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik/traefik.toml:/etc/traefik/traefik.toml
deploy:
placement:
constraints:
- node.role == manager
labels:
- "traefik.port=8080"
- "traefik.frontend.rule=PathPrefixStrip:/traefik"
networks:
- traefiknet
whoami:
image: emilevauge/whoami
deploy:
labels:
- "traefik.port=80"
- "traefik.frontend.rule=PathPrefixStrip:/whoami"
networks:
- traefiknet
networks:
traefiknet:
traefik.toml
logLevel = "DEBUG"
defaultEntryPoints = ["http", "https"]
[api]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[entryPoints.https.tls.defaultCertificate]
[docker]
endpoint = "unix:///var/run/docker.sock"
watch = true
swarmMode = true
network = "test_traefiknet"
Начать с:
docker stack deploy -c test.yml test
Вопрос 2
Обратите внимание, что я также проверил, как это написано на этой странице: https://docs.traefik.io/configuration/entrypoints/#static-certificates
Если указана пустая конфигурация TLS, создаются самозаверяющие сертификаты по умолчанию.
Однако это тоже не сработало. Мой вопрос, однако, в чем разница между этой конфигурацией и конфигурацией, показанной в вопросе 1 в файле toml?