Unable to load letsencrypt Cert to traefik on Kubernetes










0















I'm using Traefik with Kubernetes and want to deploy multiple sites with a letsencrypt wildcard cert. The logs show that the part of the requesting certificates seem to work fine, also the debug messages show that the cert should be used



time="2018-11-14T10:16:08Z" level=info msg="legolog: [INFO] [*.my-domain.com] Server responded with a certificate."
time="2018-11-14T10:16:08Z" level=debug msg="Certificates obtained for domains [*.my-domain.com]"
time="2018-11-14T10:16:08Z" level=debug msg="Configuration received from provider ACME: "
time="2018-11-14T10:16:08Z" level=debug msg="Wiring frontend dashboard.my-domain.com/ to entryPoint http"
time="2018-11-14T10:16:08Z" level=debug msg="Creating backend dashboard.my-domain.com/"
time="2018-11-14T10:16:08Z" level=debug msg="Adding TLSClientHeaders middleware for frontend dashboard.my-domain.com/"
time="2018-11-14T10:16:08Z" level=debug msg="Creating load-balancer wrr"
time="2018-11-14T10:16:08Z" level=debug msg="Creating server traefik-ingress-controller-84fbb59c4b-8h2p5 at http://MY-IP:8080 with weight 1"
time="2018-11-14T10:16:08Z" level=debug msg="Creating route / PathPrefix:/"
time="2018-11-14T10:16:08Z" level=debug msg="Creating route dashboard.my-domain.com Host:dashboard.my-domain.com"
time="2018-11-14T10:16:08Z" level=debug msg="Wiring frontend dashboard.my-domain.com/ to entryPoint https"
time="2018-11-14T10:16:08Z" level=debug msg="Creating backend dashboard.my-domain.com/"
time="2018-11-14T10:16:08Z" level=debug msg="Adding TLSClientHeaders middleware for frontend dashboard.my-domain.com/"
time="2018-11-14T10:16:08Z" level=debug msg="Creating load-balancer wrr"
time="2018-11-14T10:16:08Z" level=debug msg="Creating server traefik-ingress-controller-84fbb59c4b-8h2p5 at http://MY-IP:8080 with weight 1"
time="2018-11-14T10:16:08Z" level=debug msg="Creating route dashboard.my-domain.com Host:dashboard.my-domain.com"
time="2018-11-14T10:16:08Z" level=debug msg="Creating route / PathPrefix:/"
time="2018-11-14T10:16:08Z" level=debug msg="Add certificate for domains *.my-domain.com"
time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :8080"
time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :80"
time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :443"


But as I open the website and change from i.e. http://dashboard.my-domain.com to https://dashboard.my-domain.com I get an error that there is no cert and it is "ERR_SSL_PROTOCOL_ERROR" in Chrome.



To provide some Context here are my yaml snippets:



apiVersion: v1
kind: Service
metadata:
name: traefik-ingress-service
namespace: traefik
spec:
selector:
k8s-app: traefik-ingress-lb
ports:
- protocol: TCP
port: 80
name: web
- protocol: TCP
port: 8080
name: admin
type: NodePort
---
apiVersion: v1
kind: Service
metadata:
name: traefik-webui
namespace: traefik
spec:
selector:
k8s-app: traefik-ingress-lb
type: LoadBalancer
ports:
- name: web
protocol: TCP
port: 80
targetPort: 8080
- name: https
protocol: TCP
port: 443
targetPort: 8080
loadBalancerIP: MYEXTERNALIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: traefik-webui
namespace: traefik
spec:
rules:
- host: dashboard.my-domain.com
http:
paths:
- path: /
backend:
serviceName: traefik-webui
servicePort: web


also my Configmap looks like this:



apiVersion: v1
kind: ConfigMap
metadata:
namespace: traefik
name: traefik-conf
data:
traefik.toml: |
defaultEntryPoints = ["http","https"]
[entryPoints]
[entryPoints.http]
address = ":80"

[entryPoints.http.redirect]
entryPoint = "https"

[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[kubernetes]
[web]
[acme]
email = "my-email@ddr.es"
storage = "/config/acme.json"
onDemand = true
entryPoint = "https"
acmeLogging = true
caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"
[acme.dnsChallenge]
provider = "MYPROVIDER"
[[acme.domains]]
main = "*.my-domain.com"
logLevel = "DEBUG"









share|improve this question




























    0















    I'm using Traefik with Kubernetes and want to deploy multiple sites with a letsencrypt wildcard cert. The logs show that the part of the requesting certificates seem to work fine, also the debug messages show that the cert should be used



    time="2018-11-14T10:16:08Z" level=info msg="legolog: [INFO] [*.my-domain.com] Server responded with a certificate."
    time="2018-11-14T10:16:08Z" level=debug msg="Certificates obtained for domains [*.my-domain.com]"
    time="2018-11-14T10:16:08Z" level=debug msg="Configuration received from provider ACME: "
    time="2018-11-14T10:16:08Z" level=debug msg="Wiring frontend dashboard.my-domain.com/ to entryPoint http"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating backend dashboard.my-domain.com/"
    time="2018-11-14T10:16:08Z" level=debug msg="Adding TLSClientHeaders middleware for frontend dashboard.my-domain.com/"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating load-balancer wrr"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating server traefik-ingress-controller-84fbb59c4b-8h2p5 at http://MY-IP:8080 with weight 1"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating route / PathPrefix:/"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating route dashboard.my-domain.com Host:dashboard.my-domain.com"
    time="2018-11-14T10:16:08Z" level=debug msg="Wiring frontend dashboard.my-domain.com/ to entryPoint https"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating backend dashboard.my-domain.com/"
    time="2018-11-14T10:16:08Z" level=debug msg="Adding TLSClientHeaders middleware for frontend dashboard.my-domain.com/"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating load-balancer wrr"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating server traefik-ingress-controller-84fbb59c4b-8h2p5 at http://MY-IP:8080 with weight 1"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating route dashboard.my-domain.com Host:dashboard.my-domain.com"
    time="2018-11-14T10:16:08Z" level=debug msg="Creating route / PathPrefix:/"
    time="2018-11-14T10:16:08Z" level=debug msg="Add certificate for domains *.my-domain.com"
    time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :8080"
    time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :80"
    time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :443"


    But as I open the website and change from i.e. http://dashboard.my-domain.com to https://dashboard.my-domain.com I get an error that there is no cert and it is "ERR_SSL_PROTOCOL_ERROR" in Chrome.



    To provide some Context here are my yaml snippets:



    apiVersion: v1
    kind: Service
    metadata:
    name: traefik-ingress-service
    namespace: traefik
    spec:
    selector:
    k8s-app: traefik-ingress-lb
    ports:
    - protocol: TCP
    port: 80
    name: web
    - protocol: TCP
    port: 8080
    name: admin
    type: NodePort
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: traefik-webui
    namespace: traefik
    spec:
    selector:
    k8s-app: traefik-ingress-lb
    type: LoadBalancer
    ports:
    - name: web
    protocol: TCP
    port: 80
    targetPort: 8080
    - name: https
    protocol: TCP
    port: 443
    targetPort: 8080
    loadBalancerIP: MYEXTERNALIP
    ---
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    name: traefik-webui
    namespace: traefik
    spec:
    rules:
    - host: dashboard.my-domain.com
    http:
    paths:
    - path: /
    backend:
    serviceName: traefik-webui
    servicePort: web


    also my Configmap looks like this:



    apiVersion: v1
    kind: ConfigMap
    metadata:
    namespace: traefik
    name: traefik-conf
    data:
    traefik.toml: |
    defaultEntryPoints = ["http","https"]
    [entryPoints]
    [entryPoints.http]
    address = ":80"

    [entryPoints.http.redirect]
    entryPoint = "https"

    [entryPoints.https]
    address = ":443"
    [entryPoints.https.tls]
    [kubernetes]
    [web]
    [acme]
    email = "my-email@ddr.es"
    storage = "/config/acme.json"
    onDemand = true
    entryPoint = "https"
    acmeLogging = true
    caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"
    [acme.dnsChallenge]
    provider = "MYPROVIDER"
    [[acme.domains]]
    main = "*.my-domain.com"
    logLevel = "DEBUG"









    share|improve this question


























      0












      0








      0








      I'm using Traefik with Kubernetes and want to deploy multiple sites with a letsencrypt wildcard cert. The logs show that the part of the requesting certificates seem to work fine, also the debug messages show that the cert should be used



      time="2018-11-14T10:16:08Z" level=info msg="legolog: [INFO] [*.my-domain.com] Server responded with a certificate."
      time="2018-11-14T10:16:08Z" level=debug msg="Certificates obtained for domains [*.my-domain.com]"
      time="2018-11-14T10:16:08Z" level=debug msg="Configuration received from provider ACME: "
      time="2018-11-14T10:16:08Z" level=debug msg="Wiring frontend dashboard.my-domain.com/ to entryPoint http"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating backend dashboard.my-domain.com/"
      time="2018-11-14T10:16:08Z" level=debug msg="Adding TLSClientHeaders middleware for frontend dashboard.my-domain.com/"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating load-balancer wrr"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating server traefik-ingress-controller-84fbb59c4b-8h2p5 at http://MY-IP:8080 with weight 1"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating route / PathPrefix:/"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating route dashboard.my-domain.com Host:dashboard.my-domain.com"
      time="2018-11-14T10:16:08Z" level=debug msg="Wiring frontend dashboard.my-domain.com/ to entryPoint https"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating backend dashboard.my-domain.com/"
      time="2018-11-14T10:16:08Z" level=debug msg="Adding TLSClientHeaders middleware for frontend dashboard.my-domain.com/"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating load-balancer wrr"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating server traefik-ingress-controller-84fbb59c4b-8h2p5 at http://MY-IP:8080 with weight 1"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating route dashboard.my-domain.com Host:dashboard.my-domain.com"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating route / PathPrefix:/"
      time="2018-11-14T10:16:08Z" level=debug msg="Add certificate for domains *.my-domain.com"
      time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :8080"
      time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :80"
      time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :443"


      But as I open the website and change from i.e. http://dashboard.my-domain.com to https://dashboard.my-domain.com I get an error that there is no cert and it is "ERR_SSL_PROTOCOL_ERROR" in Chrome.



      To provide some Context here are my yaml snippets:



      apiVersion: v1
      kind: Service
      metadata:
      name: traefik-ingress-service
      namespace: traefik
      spec:
      selector:
      k8s-app: traefik-ingress-lb
      ports:
      - protocol: TCP
      port: 80
      name: web
      - protocol: TCP
      port: 8080
      name: admin
      type: NodePort
      ---
      apiVersion: v1
      kind: Service
      metadata:
      name: traefik-webui
      namespace: traefik
      spec:
      selector:
      k8s-app: traefik-ingress-lb
      type: LoadBalancer
      ports:
      - name: web
      protocol: TCP
      port: 80
      targetPort: 8080
      - name: https
      protocol: TCP
      port: 443
      targetPort: 8080
      loadBalancerIP: MYEXTERNALIP
      ---
      apiVersion: extensions/v1beta1
      kind: Ingress
      metadata:
      name: traefik-webui
      namespace: traefik
      spec:
      rules:
      - host: dashboard.my-domain.com
      http:
      paths:
      - path: /
      backend:
      serviceName: traefik-webui
      servicePort: web


      also my Configmap looks like this:



      apiVersion: v1
      kind: ConfigMap
      metadata:
      namespace: traefik
      name: traefik-conf
      data:
      traefik.toml: |
      defaultEntryPoints = ["http","https"]
      [entryPoints]
      [entryPoints.http]
      address = ":80"

      [entryPoints.http.redirect]
      entryPoint = "https"

      [entryPoints.https]
      address = ":443"
      [entryPoints.https.tls]
      [kubernetes]
      [web]
      [acme]
      email = "my-email@ddr.es"
      storage = "/config/acme.json"
      onDemand = true
      entryPoint = "https"
      acmeLogging = true
      caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"
      [acme.dnsChallenge]
      provider = "MYPROVIDER"
      [[acme.domains]]
      main = "*.my-domain.com"
      logLevel = "DEBUG"









      share|improve this question
















      I'm using Traefik with Kubernetes and want to deploy multiple sites with a letsencrypt wildcard cert. The logs show that the part of the requesting certificates seem to work fine, also the debug messages show that the cert should be used



      time="2018-11-14T10:16:08Z" level=info msg="legolog: [INFO] [*.my-domain.com] Server responded with a certificate."
      time="2018-11-14T10:16:08Z" level=debug msg="Certificates obtained for domains [*.my-domain.com]"
      time="2018-11-14T10:16:08Z" level=debug msg="Configuration received from provider ACME: "
      time="2018-11-14T10:16:08Z" level=debug msg="Wiring frontend dashboard.my-domain.com/ to entryPoint http"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating backend dashboard.my-domain.com/"
      time="2018-11-14T10:16:08Z" level=debug msg="Adding TLSClientHeaders middleware for frontend dashboard.my-domain.com/"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating load-balancer wrr"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating server traefik-ingress-controller-84fbb59c4b-8h2p5 at http://MY-IP:8080 with weight 1"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating route / PathPrefix:/"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating route dashboard.my-domain.com Host:dashboard.my-domain.com"
      time="2018-11-14T10:16:08Z" level=debug msg="Wiring frontend dashboard.my-domain.com/ to entryPoint https"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating backend dashboard.my-domain.com/"
      time="2018-11-14T10:16:08Z" level=debug msg="Adding TLSClientHeaders middleware for frontend dashboard.my-domain.com/"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating load-balancer wrr"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating server traefik-ingress-controller-84fbb59c4b-8h2p5 at http://MY-IP:8080 with weight 1"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating route dashboard.my-domain.com Host:dashboard.my-domain.com"
      time="2018-11-14T10:16:08Z" level=debug msg="Creating route / PathPrefix:/"
      time="2018-11-14T10:16:08Z" level=debug msg="Add certificate for domains *.my-domain.com"
      time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :8080"
      time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :80"
      time="2018-11-14T10:16:08Z" level=info msg="Server configuration reloaded on :443"


      But as I open the website and change from i.e. http://dashboard.my-domain.com to https://dashboard.my-domain.com I get an error that there is no cert and it is "ERR_SSL_PROTOCOL_ERROR" in Chrome.



      To provide some Context here are my yaml snippets:



      apiVersion: v1
      kind: Service
      metadata:
      name: traefik-ingress-service
      namespace: traefik
      spec:
      selector:
      k8s-app: traefik-ingress-lb
      ports:
      - protocol: TCP
      port: 80
      name: web
      - protocol: TCP
      port: 8080
      name: admin
      type: NodePort
      ---
      apiVersion: v1
      kind: Service
      metadata:
      name: traefik-webui
      namespace: traefik
      spec:
      selector:
      k8s-app: traefik-ingress-lb
      type: LoadBalancer
      ports:
      - name: web
      protocol: TCP
      port: 80
      targetPort: 8080
      - name: https
      protocol: TCP
      port: 443
      targetPort: 8080
      loadBalancerIP: MYEXTERNALIP
      ---
      apiVersion: extensions/v1beta1
      kind: Ingress
      metadata:
      name: traefik-webui
      namespace: traefik
      spec:
      rules:
      - host: dashboard.my-domain.com
      http:
      paths:
      - path: /
      backend:
      serviceName: traefik-webui
      servicePort: web


      also my Configmap looks like this:



      apiVersion: v1
      kind: ConfigMap
      metadata:
      namespace: traefik
      name: traefik-conf
      data:
      traefik.toml: |
      defaultEntryPoints = ["http","https"]
      [entryPoints]
      [entryPoints.http]
      address = ":80"

      [entryPoints.http.redirect]
      entryPoint = "https"

      [entryPoints.https]
      address = ":443"
      [entryPoints.https.tls]
      [kubernetes]
      [web]
      [acme]
      email = "my-email@ddr.es"
      storage = "/config/acme.json"
      onDemand = true
      entryPoint = "https"
      acmeLogging = true
      caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"
      [acme.dnsChallenge]
      provider = "MYPROVIDER"
      [[acme.domains]]
      main = "*.my-domain.com"
      logLevel = "DEBUG"






      kubernetes devops lets-encrypt traefik kubernetes-ingress






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 14 '18 at 14:59









      Shudipta Sharma

      1,177413




      1,177413










      asked Nov 14 '18 at 14:26









      soxidussoxidus

      35




      35






















          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53302479%2funable-to-load-letsencrypt-cert-to-traefik-on-kubernetes%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53302479%2funable-to-load-letsencrypt-cert-to-traefik-on-kubernetes%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          How to read a connectionString WITH PROVIDER in .NET Core?

          In R, how to develop a multiplot heatmap.2 figure showing key labels successfully

          Museum of Modern and Contemporary Art of Trento and Rovereto