#3927·bunkerweb

[BUG] LETS_ENCRYPT_PASSTHROUGH should imply adding `^/.well-known/acme-challenge/` to WHITELIST_URI

Author: OdyXCreated Sep 17, 2026Updated Sep 18, 2026
Labelsbugcorenext minor

What happened?

On a Kubernetes deployment, we're using cert-manager to acquire our TLS secrets for HTTPS termination by bunkerweb. With such an ingress declaration:

yaml
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: echo
  namespace: echoserver
  annotations:
    cert-manager.io/cluster-issuer: bunkerweb-letsencrypt-staging # This uses solvers[0].http01.ingress.ingressClassName: bunkerweb
    # This is needed for cert-manager
    bunkerweb.io/LETS_ENCRYPT_PASSTHROUGH: "yes"

    # We'll use cert-manager to get the certificate
    bunkerweb.io/AUTO_LETS_ENCRYPT: "no"
    
    # WAF-specific settings
    bunkerweb.io/USE_TEMPLATE: "high"
spec:
  ingressClassName: bunkerweb
  tls:
    - hosts:
      - echo.example.com
      secretName: echo-example-com
  rules:
  - host: echo.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: echoserver
            port:
              number: 8080

The important point here is the USE_TEMPLATE: "high".

With the above, both cert-manager requests and Let's Encrypt servers will get the antibot feature kick in and will get redirected to the antibot page.

We found that adding:

yaml
    bunkerweb.io/USE_WHITELIST: "yes"
    bunkerweb.io/WHITELIST_URI: "^/.well-known/acme-challenge/"

Solved the problem, but it would be better if *any requests to /.well-known/acme-challenge/ ** would directly pass through to whatever handles it down the line (in our case, cert-manager).

How to reproduce?

Use the "high" template with a cert-manager annotation, without specifying anything in WHITELIST_URI

Configuration file(s) (yaml or .env)

yaml

Relevant log output

bash

BunkerWeb version

1.6.14

What integration are you using?

Kubernetes

Linux distribution (if applicable)

No response

Removed private data

  • I have removed all private data from the configuration file and the logs

Code of Conduct

  • I agree to follow this project's Code of Conduct