# Traefik portainer bad certificate

**URL:** <https://community.traefik.io/t/traefik-portainer-bad-certificate/16799>\
**Category:** Traefik v2\
**Tags:** docker-swarm\
**Created:** [December 13, 2022, 2:41pm UTC](https://community.traefik.io/t/traefik-portainer-bad-certificate/16799 "2022-12-13T14:41:23Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![bluepuma77](https://avatars.discourse-cdn.com/v4/letter/b/a9adbd/32.png) [@bluepuma77](https://community.traefik.io/u/bluepuma77)\
**Post date:** [December 14, 2022, 11:14am UTC](https://community.traefik.io/t/traefik-portainer-bad-certificate/16799/10 "2022-12-14T11:14:18Z")

</div>

Because Portainer is sitting behind Traefik, it can not generate a validated and signed cert. It will always create a custom cert that Traefik will not accept. (yes, there may be exceptions, but why go the hard way?)

Either you go along [the official Portainer+Traefik docs](https://docs.portainer.io/advanced/reverse-proxy/traefik) with port 9000 or you use `insecureskipverify`.

Be aware you can't simply use `insecureskipverify` on a service, but you must [create](https://doc.traefik.io/traefik/routing/services/#insecureskipverify) and [assign](https://doc.traefik.io/traefik/routing/services/#serverstransport) `serversTransport`.

```auto
## Dynamic configuration
http:
  serversTransports:
    mytransport:
      insecureSkipVerify: true

```

```auto
## Dynamic configuration
http:
  services:
    myservice:
      loadBalancer:
        serversTransport: mytransport

```

---

_[View the full topic](https://community.traefik.io/t/traefik-portainer-bad-certificate/16799)._
