Perhaps unwise, indeed, in hindsight. I know enough in SSL certificates to get myself into trouble. So I can learn from this, why specifically was it unwise? Does it have to do with DNS propagation?
I think the bad certificate error was because I had a delay in the DNS check in the docker-compose file, which allowed the Traefik container to issued its own self-signed certificate. I took out that delay, and here is the latest debug log:
2020-05-25T12:46:32.447336035Z time=â2020-05-25T12:46:32Zâ level=info msg=âStarting provider aggregator.ProviderAggregator {}â
2020-05-25T12:46:32.447342489Z time=â2020-05-25T12:46:32Zâ level=debug msg=âStart TCP Serverâ entryPointName=http
2020-05-25T12:46:32.447373558Z time=â2020-05-25T12:46:32Zâ level=debug msg=âStart TCP Serverâ entryPointName=https
2020-05-25T12:46:32.447416174Z time=â2020-05-25T12:46:32Zâ level=info msg=âStarting provider file.Provider {âdirectoryâ:"/rules",âwatchâ:true}"
2020-05-25T12:46:32.447496596Z time=â2020-05-25T12:46:32Zâ level=debug msg=âStart TCP Serverâ entryPointName=traefik
2020-05-25T12:46:32.447576569Z time=â2020-05-25T12:46:32Zâ level=info msg=âStarting provider traefik.Provider {}"
2020-05-25T12:46:32.447607305Z time=â2020-05-25T12:46:32Zâ level=info msg=âStarting provider acme.Provider {âemail":"vrjula@protonmail.comâ,âcaServerâ:âhttps://acme-v02.api.letsencrypt.org/directory",âstorageâ:"/acme.json",âkeyTypeâ:âRSA4096â,âdnsChallengeâ:{âproviderâ:âcloudflareâ,âresolversâ:[â1.1.1.1:53â,â1.0.0.1:53â]},âResolverNameâ:âdns-cloudflareâ,âstoreâ:{},âChallengeStoreâ:{}}"
2020-05-25T12:46:32.447619130Z time=â2020-05-25T12:46:32Zâ level=info msg=âTesting certificate renewâŚâ providerName=dns-cloudflare.acme
2020-05-25T12:46:32.447638712Z time=â2020-05-25T12:46:32Zâ level=info msg=âStarting provider docker.Provider {âwatchâ:true,âendpointâ:âunix:///var/run/docker.sockâ,âdefaultRuleâ:âHost({{ index .Labels \\\"com.docker.compose.service\\\" }}.julapalli.club
)â,ânetworkâ:ât2_proxyâ,âswarmModeRefreshSecondsâ:15000000000}"
2020-05-25T12:46:32.448208972Z time=â2020-05-25T12:46:32Zâ level=debug msg=âConfiguration received from provider file: {âhttpâ:{},âtcpâ:{},âudpâ:{},âtlsâ:{}}â providerName=file
2020-05-25T12:46:32.448223770Z time=â2020-05-25T12:46:32Zâ level=debug msg=âConfiguration received from provider internal: {âhttpâ:{âservicesâ:{âapiâ:{},âdashboardâ:{},ânoopâ:{}},âmodelsâ:{âhttpsâ:{âtlsâ:{âcertResolverâ:âdns-cloudflareâ}}}},âtcpâ:{},âtlsâ:{}}â providerName=internal
2020-05-25T12:46:32.448248392Z time=â2020-05-25T12:46:32Zâ level=debug msg=âConfiguration received from provider dns-cloudflare.acme: {âhttpâ:{},âtlsâ:{}}â providerName=dns-cloudflare.acme
2020-05-25T12:46:32.448477133Z time=â2020-05-25T12:46:32Zâ level=debug msg=âNo default certificate, generating oneâ
2020-05-25T12:46:32.452328180Z time=â2020-05-25T12:46:32Zâ level=debug msg=âProvider connection established with docker 19.03.9-ce (API 1.40)â providerName=docker
2020-05-25T12:46:32.453937576Z time=â2020-05-25T12:46:32Zâ level=debug msg=âConfiguration received from provider docker: {âhttpâ:{âroutersâ:{âhttp-catchallâ:{âentryPointsâ:[âhttpâ],âmiddlewaresâ:[âredirect-to-httpsâ],âserviceâ:âtraefik-dockerâ,âruleâ:âHostRegexp({host:.+}
)â},âtraefik-rtrâ:{âentryPointsâ:[âhttpsâ],âserviceâ:âapi@internalâ,âruleâ:âHost(traefik.julapalli.club
)â,âtlsâ:{âcertResolverâ:âdns-cloudflareâ,âdomainsâ:[{âmainâ:âjulapalli.clubâ,âsansâ:[â.julapalli.clubâ]}]}}},âservicesâ:{âtraefik-dockerâ:{âloadBalancerâ:{âserversâ:[{âurlâ:âhttp://192.168.90.254:80â}],âpassHostHeaderâ:true}}},âmiddlewaresâ:{âredirect-to-httpsâ:{âredirectSchemeâ:{âschemeâ:âhttpsâ}}}},âtcpâ:{},âudpâ:{}}â providerName=docker
2020-05-25T12:46:32.581832339Z time=â2020-05-25T12:46:32Zâ level=debug msg=âNo default certificate, generating oneâ
2020-05-25T12:46:32.787568038Z time=â2020-05-25T12:46:32Zâ level=debug msg=âNo default certificate, generating oneâ
2020-05-25T12:46:33.009320253Z time=â2020-05-25T12:46:33Zâ level=debug msg=âCreating middlewareâ entryPointName=http routerName=http-catchall@docker serviceName=traefik-docker middlewareName=pipelining middlewareType=Pipelining
2020-05-25T12:46:33.009336922Z time=â2020-05-25T12:46:33Zâ level=debug msg=âCreating load-balancerâ entryPointName=http routerName=http-catchall@docker serviceName=traefik-docker
2020-05-25T12:46:33.009342767Z time=â2020-05-25T12:46:33Zâ level=debug msg=âCreating server 0 http://192.168.90.254:80â routerName=http-catchall@docker serverName=0 serviceName=traefik-docker entryPointName=http
2020-05-25T12:46:33.009347696Z time=â2020-05-25T12:46:33Zâ level=debug msg=âAdded outgoing tracing middleware traefik-dockerâ entryPointName=http routerName=http-catchall@docker middlewareType=TracingForwarder middlewareName=tracing
2020-05-25T12:46:33.009350660Z time=â2020-05-25T12:46:33Zâ level=debug msg=âCreating middlewareâ routerName=http-catchall@docker entryPointName=http middlewareName=redirect-to-https@docker middlewareType=RedirectScheme
2020-05-25T12:46:33.009353354Z time=â2020-05-25T12:46:33Zâ level=debug msg="Setting up redirection to https " routerName=http-catchall@docker entryPointName=http middlewareName=redirect-to-https@docker middlewareType=RedirectScheme
2020-05-25T12:46:33.009358295Z time=â2020-05-25T12:46:33Zâ level=debug msg=âAdding tracing to middlewareâ routerName=http-catchall@docker entryPointName=http middlewareName=redirect-to-https@docker
2020-05-25T12:46:33.009360845Z time=â2020-05-25T12:46:33Zâ level=debug msg=âCreating middlewareâ middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=http
2020-05-25T12:46:33.009363355Z time=â2020-05-25T12:46:33Zâ level=debug msg=âAdded outgoing tracing middleware api@internalâ middlewareName=tracing middlewareType=TracingForwarder entryPointName=https routerName=traefik-rtr@docker
2020-05-25T12:46:33.009509664Z time=â2020-05-25T12:46:33Zâ level=debug msg=âCreating middlewareâ middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=https
2020-05-25T12:46:33.009552614Z time=â2020-05-25T12:46:33Zâ level=debug msg=âNo default certificate, generating oneâ
2020-05-25T12:46:33.082579576Z time=â2020-05-25T12:46:33Zâ level=debug msg="Looking for provided certificate(s) to validate [âjulapalli.clubâ ".julapalli.clubâ]âŚ" providerName=dns-cloudflare.acme
2020-05-25T12:46:33.082589566Z time=â2020-05-25T12:46:33Zâ level=debug msg="Domains [âjulapalli.clubâ ".julapalli.clubâ] need ACME certificates generation for domains "julapalli.club,.julapalli.clubâ." providerName=dns-cloudflare.acme
2020-05-25T12:46:33.082593107Z time=â2020-05-25T12:46:33Zâ level=debug msg=âLoading ACME certificates [julapalli.club .julapalli.club]âŚ" providerName=dns-cloudflare.acme
2020-05-25T12:46:33.082595779Z time=â2020-05-25T12:46:33Zâ level=debug msg=âBuilding ACME clientâŚâ providerName=dns-cloudflare.acme
2020-05-25T12:46:33.082598802Z time=â2020-05-25T12:46:33Zâ level=debug msg=âhttps://acme-v02.api.letsencrypt.org/directoryâ providerName=dns-cloudflare.acme
2020-05-25T12:46:33.324524698Z time=â2020-05-25T12:46:33Zâ level=debug msg=âUsing DNS Challenge provider: cloudflareâ providerName=dns-cloudflare.acme
2020-05-25T12:46:33.324611273Z time=â2020-05-25T12:46:33Zâ level=debug msg=âlegolog: [INFO] [julapalli.club, .julapalli.club] acme: Obtaining bundled SAN certificate"
2020-05-25T12:46:33.747230930Z time=â2020-05-25T12:46:33Zâ level=debug msg="legolog: [INFO] [.julapalli.club] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/4798080481â
2020-05-25T12:46:33.747278407Z time=â2020-05-25T12:46:33Zâ level=debug msg=âlegolog: [INFO] [julapalli.club] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/4798080482â
2020-05-25T12:46:33.747289888Z time=â2020-05-25T12:46:33Zâ level=debug msg="legolog: [INFO] [.julapalli.club] acme: use dns-01 solverâ
2020-05-25T12:46:33.747296726Z time=â2020-05-25T12:46:33Zâ level=debug msg=âlegolog: [INFO] [julapalli.club] acme: Could not find solver for: tls-alpn-01â
2020-05-25T12:46:33.747303653Z time=â2020-05-25T12:46:33Zâ level=debug msg=âlegolog: [INFO] [julapalli.club] acme: Could not find solver for: http-01â
2020-05-25T12:46:33.747310315Z time=â2020-05-25T12:46:33Zâ level=debug msg=âlegolog: [INFO] [julapalli.club] acme: use dns-01 solverâ
2020-05-25T12:46:33.747330045Z time=â2020-05-25T12:46:33Zâ level=debug msg=âlegolog: [INFO] [.julapalli.club] acme: Preparing to solve DNS-01"
2020-05-25T12:46:34.307698353Z time=â2020-05-25T12:46:34Zâ level=debug msg=âlegolog: [INFO] [julapalli.club] acme: Preparing to solve DNS-01â
2020-05-25T12:46:34.567645604Z time=â2020-05-25T12:46:34Zâ level=debug msg="legolog: [INFO] [.julapalli.club] acme: Cleaning DNS-01 challengeâ
2020-05-25T12:46:34.567685371Z time=â2020-05-25T12:46:34Zâ level=debug msg=âlegolog: [WARN] [.julapalli.club] acme: cleaning up failed: cloudflare: unknown record ID for â_acme-challenge.julapalli.club.â "
2020-05-25T12:46:34.567694691Z time=â2020-05-25T12:46:34Zâ level=debug msg=âlegolog: [INFO] [julapalli.club] acme: Cleaning DNS-01 challengeâ
2020-05-25T12:46:34.567701405Z time=â2020-05-25T12:46:34Zâ level=debug msg="legolog: [WARN] [julapalli.club] acme: cleaning up failed: cloudflare: unknown record ID for â_acme-challenge.julapalli.club.â "
2020-05-25T12:46:34.652494393Z time=â2020-05-25T12:46:34Zâ level=debug msg=âlegolog: [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/4798080481â
2020-05-25T12:46:34.829311954Z time=â2020-05-25T12:46:34Zâ level=debug msg=âlegolog: [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/4798080482â
2020-05-25T12:46:34.936126641Z time=â2020-05-25T12:46:34Zâ level=error msg="Unable to obtain ACME certificate for domains "julapalli.club,.julapalli.clubâ : unable to generate a certificate for the domains [julapalli.club .julapalli.club]: error: one or more domains had a problem:\n[.julapalli.club] [*.julapalli.club] acme: error presenting token: cloudflare: failed to create TXT record: error from makeRequest: HTTP status 400: content â{\âresult\â:null,\âsuccess\â:false,\âerrors\â:[{\âcode\â:81057,\âmessage\â:\âThe record already exists.\â}],\âmessages\â:}â\n[julapalli.club] [julapalli.club] acme: error presenting token: cloudflare: failed to create TXT record: error from makeRequest: HTTP status 400: content â{\âresult\â:null,\âsuccess\â:false,\âerrors\â:[{\âcode\â:81057,\âmessage\â:\âThe record already exists.\â}],\âmessages\â:}â\n" providerName=dns-cloudflare.acme