Hi all,
I am trying to figure out why I cannot seem to get my wildcard cert to pick up in my configuration. I am only using docker-compose, not swarm and I am using an existing certificate pair, not Acme. It looks like the cert isn't picked up because the certificates.yml file isn't read. If anyone could please provide some insight and suggestions I'd really appreciate it.
file structure
- docker-compose-lite.yml
- /configuration
- certificates.yml
- wildcard.pem
- wildcard.cer
docker-compose-lite.yml
version: "3"
services:
reverse-proxy:
image: traefik:v2.5
command:
- --log.level=DEBUG
- --log.filePath=/var/log/traefik/traefik.log
- --log.format=json
- --accesslog=true
- --accesslog.filePath=/var/log/traefik/access.log
- --api.insecure=true
- --entrypoints.https.address=:443
- --providers.docker
- --providers.docker.exposedbydefault=false
# look in a directory *** in the container *** for provider configuration
- --providers.file.directory=/configuration
- --providers.file.watch=true
ports:
- "443:443"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /var/log:/var/log
# Mount a directory in the root of my project into the container. This directory contains the local certificate for the project.
- ./configuration:/configuration
# Second, I mount a yaml file into the container, located in the directory we configured to be the provider directory from the command section
- ./configuration/certificates.yml:/configuration/certificates.yml
labels:
- "traefik.enabled=true"
networks:
- traefik-default
whoami:
# A container that exposes an API to show its IP address
image: containous/whoami
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`whoami.wildcard`)"
- "traefik.http.routers.whoami.entrypoints=https"
- "traefik.http.routers.whoami.tls=true"
networks:
- traefik-default
networks:
traefik-default:
external: true
certificates.yml
tls:
certificates:
certFile: ./configuration/wildcard_bundle.crt
keyFile: ./configuration/wildcard.pem
/var/log/traefik/traefik.log
{"level":"info","msg":"Traefik version 2.5.3 built on 2021-09-20T15:43:56Z","time":"2021-12-10T15:00:42Z"}
{"level":"debug","msg":"Static configuration loaded {\"global\":{\"checkNewVersion\":true},\"serversTransport\":{\"maxIdleConnsPerHost\":200},\"entryPoints\":{\"https\":{\"address\":\":443\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"udp\":{\"timeout\":\"3s\"}},\"traefik\":{\"address\":\":8080\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"udp\":{\"timeout\":\"3s\"}}},\"providers\":{\"providersThrottleDuration\":\"2s\",\"docker\":{\"watch\":true,\"endpoint\":\"unix:///var/run/docker.sock\",\"defaultRule\":\"Host(`{{ normalize .Name }}`)\",\"swarmModeRefreshSeconds\":\"15s\"},\"file\":{\"directory\":\"/configuration\",\"watch\":true}},\"api\":{\"insecure\":true,\"dashboard\":true},\"log\":{\"level\":\"DEBUG\",\"filePath\":\"/var/log/traefik/traefik.log\",\"format\":\"json\"},\"accessLog\":{\"filePath\":\"/var/log/traefik/access.log\",\"format\":\"common\",\"filters\":{},\"fields\":{\"defaultMode\":\"keep\",\"headers\":{\"defaultMode\":\"drop\"}}},\"pilot\":{\"dashboard\":true}}","time":"2021-12-10T15:00:42Z"}
{"level":"info","msg":"\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://doc.traefik.io/traefik/contributing/data-collection/\n","time":"2021-12-10T15:00:42Z"}
{"level":"info","msg":"Starting provider aggregator.ProviderAggregator {}","time":"2021-12-10T15:00:42Z"}
{"entryPointName":"traefik","level":"debug","msg":"Start TCP Server","time":"2021-12-10T15:00:42Z"}
{"level":"info","msg":"Starting provider *file.Provider {\"directory\":\"/configuration\",\"watch\":true}","time":"2021-12-10T15:00:42Z"}
{"entryPointName":"https","level":"debug","msg":"Start TCP Server","time":"2021-12-10T15:00:42Z"}
{"level":"info","msg":"Starting provider *traefik.Provider {}","time":"2021-12-10T15:00:42Z"}
{"level":"info","msg":"Starting provider *acme.ChallengeTLSALPN {\"Timeout\":4000000000}","time":"2021-12-10T15:00:42Z"}
{"level":"debug","msg":"Configuration received from provider file: {\"http\":{},\"tcp\":{},\"udp\":{},\"tls\":{}}","providerName":"file","time":"2021-12-10T15:00:42Z"}
{"level":"debug","msg":"Configuration received from provider internal: {\"http\":{\"routers\":{\"api\":{\"entryPoints\":[\"traefik\"],\"service\":\"api@internal\",\"rule\":\"PathPrefix(`/api`)\",\"priority\":2147483646},\"dashboard\":{\"entryPoints\":[\"traefik\"],\"middlewares\":[\"dashboard_redirect@internal\",\"dashboard_stripprefix@internal\"],\"service\":\"dashboard@internal\",\"rule\":\"PathPrefix(`/`)\",\"priority\":2147483645}},\"services\":{\"api\":{},\"dashboard\":{},\"noop\":{}},\"middlewares\":{\"dashboard_redirect\":{\"redirectRegex\":{\"regex\":\"^(http:\\\\/\\\\/(\\\\[[\\\\w:.]+\\\\]|[\\\\w\\\\._-]+)(:\\\\d+)?)\\\\/$\",\"replacement\":\"${1}/dashboard/\",\"permanent\":true}},\"dashboard_stripprefix\":{\"stripPrefix\":{\"prefixes\":[\"/dashboard/\",\"/dashboard\"]}}},\"serversTransports\":{\"default\":{\"maxIdleConnsPerHost\":200}}},\"tcp\":{},\"tls\":{}}","providerName":"internal","time":"2021-12-10T15:00:42Z"}
{"level":"info","msg":"Starting provider *docker.Provider {\"watch\":true,\"endpoint\":\"unix:///var/run/docker.sock\",\"defaultRule\":\"Host(`{{ normalize .Name }}`)\",\"swarmModeRefreshSeconds\":\"15s\"}","time":"2021-12-10T15:00:42Z"}
{"level":"debug","msg":"No default certificate, generating one","time":"2021-12-10T15:00:42Z","tlsStoreName":"default"}
{"level":"debug","msg":"Provider connection established with docker 20.10.10 (API 1.41)","providerName":"docker","time":"2021-12-10T15:00:42Z"}
{"level":"error","msg":"Skip container reverse-proxy-docker: field not found, node: enabled","providerName":"docker","time":"2021-12-10T15:00:42Z"}
{"level":"debug","msg":"Configuration received from provider docker: {\"http\":{\"routers\":{\"whoami\":{\"entryPoints\":[\"https\"],\"service\":\"whoami-docker\",\"rule\":\"Host(`whoami.wildcard`)\",\"tls\":{}}},\"services\":{\"whoami-docker\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://192.168.64.3:80\"}],\"passHostHeader\":true}}}},\"tcp\":{},\"udp\":{}}","providerName":"docker","time":"2021-12-10T15:00:42Z"}
{"level":"debug","msg":"No store is defined to add the certificate , it will be added to the default store.","time":"2021-12-10T15:00:43Z"}
{"level":"error","msg":"Unable to append certificate to store: unable to generate TLS certificate : tls: failed to find any PEM data in certificate input","time":"2021-12-10T15:00:43Z","tlsStoreName":"default"}
{"level":"debug","msg":"No store is defined to add the certificate , it will be added to the default store.","time":"2021-12-10T15:00:43Z"}
{"level":"error","msg":"Unable to append certificate to store: unable to generate TLS certificate : tls: failed to find any PEM data in certificate input","time":"2021-12-10T15:00:43Z","tlsStoreName":"default"}
{"entryPointName":"traefik","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware api@internal","routerName":"api@internal","time":"2021-12-10T15:00:43Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware dashboard@internal","routerName":"dashboard@internal","time":"2021-12-10T15:00:43Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_stripprefix@internal","middlewareType":"StripPrefix","msg":"Creating middleware","routerName":"dashboard@internal","time":"2021-12-10T15:00:43Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_stripprefix@internal","msg":"Adding tracing to middleware","routerName":"dashboard@internal","time":"2021-12-10T15:00:43Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_redirect@internal","middlewareType":"RedirectRegex","msg":"Creating middleware","routerName":"dashboard@internal","time":"2021-12-10T15:00:43Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_redirect@internal","middlewareType":"RedirectRegex","msg":"Setting up redirection from ^(http:\\/\\/(\\[[\\w:.]+\\]|[\\w\\._-]+)(:\\d+)?)\\/$ to ${1}/dashboard/","routerName":"dashboard@internal","time":"2021-12-10T15:00:43Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_redirect@internal","msg":"Adding tracing to middleware","routerName":"dashboard@internal","time":"2021-12-10T15:00:43Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","msg":"Creating middleware","time":"2021-12-10T15:00:43Z"}
{"level":"debug","msg":"No default certificate, generating one","time":"2021-12-10T15:00:43Z","tlsStoreName":"default"}
{"level":"error","msg":"Unable to append certificate to store: unable to generate TLS certificate : tls: failed to find any PEM data in certificate input","time":"2021-12-10T15:00:44Z","tlsStoreName":"default"}
{"level":"error","msg":"Unable to append certificate to store: unable to generate TLS certificate : tls: failed to find any PEM data in certificate input","time":"2021-12-10T15:00:44Z","tlsStoreName":"default"}
{"entryPointName":"traefik","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware api@internal","routerName":"api@internal","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware dashboard@internal","routerName":"dashboard@internal","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_stripprefix@internal","middlewareType":"StripPrefix","msg":"Creating middleware","routerName":"dashboard@internal","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_stripprefix@internal","msg":"Adding tracing to middleware","routerName":"dashboard@internal","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_redirect@internal","middlewareType":"RedirectRegex","msg":"Creating middleware","routerName":"dashboard@internal","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_redirect@internal","middlewareType":"RedirectRegex","msg":"Setting up redirection from ^(http:\\/\\/(\\[[\\w:.]+\\]|[\\w\\._-]+)(:\\d+)?)\\/$ to ${1}/dashboard/","routerName":"dashboard@internal","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"dashboard_redirect@internal","msg":"Adding tracing to middleware","routerName":"dashboard@internal","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"traefik","level":"debug","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","msg":"Creating middleware","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"https","level":"debug","middlewareName":"pipelining","middlewareType":"Pipelining","msg":"Creating middleware","routerName":"whoami@docker","serviceName":"whoami-docker","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"https","level":"debug","msg":"Creating load-balancer","routerName":"whoami@docker","serviceName":"whoami-docker","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"https","level":"debug","msg":"Creating server 0 http://192.168.64.3:80","routerName":"whoami@docker","serverName":0,"serviceName":"whoami-docker","time":"2021-12-10T15:00:44Z"}
{"level":"debug","msg":"child http://192.168.64.3:80 now UP","time":"2021-12-10T15:00:44Z"}
{"level":"debug","msg":"Propagating new UP status","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"https","level":"debug","middlewareName":"tracing","middlewareType":"TracingForwarder","msg":"Added outgoing tracing middleware whoami-docker","routerName":"whoami@docker","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"https","level":"debug","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","msg":"Creating middleware","time":"2021-12-10T15:00:44Z"}
{"entryPointName":"https","level":"debug","msg":"Adding route for whoami.wildcard with TLS options default","time":"2021-12-10T15:00:44Z"}