Stripe Webhook Signature Verification Failing with Traefik - Need Help Preserving Raw Request Body #2285
Replies: 4 comments
-
|
Please post here is you happen to resolve that issue no matter how, even if you ditch Dokploy for that, I would like to know. |
Beta Was this translation helpful? Give feedback.
-
|
I have this same issue |
Beta Was this translation helpful? Give feedback.
-
|
Hey!
Regardin the traefik issue if you already are handling the processing correctly, I can tell you that I tested while debugging adding another specific route with no middleware in the dynamic file for that specific app and it looks like it wasn't affecting the raw payload. I'll leave the snipped if it helps as well: http:
routers:
stripe-webhook-router:
rule: "Host(`staging.myapp.com`) && Path(`/api/v1/webhooks`)"
entryPoints:
- websecure
service: stripe-webhook-service
tls:
certResolver: letsencrypt
services:
stripe-webhook-service:
loadBalancer:
servers:
- url: http://internal-container-dns:3000
passHostHeader: trueHope you can fix it man, BR |
Beta Was this translation helpful? Give feedback.
-
|
A pure proxy usually should not need to change the webhook body for Stripe verification to work, so I would be careful about assuming Traefik is the mutating layer without isolating where the bytes actually diverge. The failure mode I would check first is:
A couple of concrete checks:
I built HookLens for this exact debugging loop because these failures often get blamed on the wrong layer: capture the request before the app stack parses it, inspect the verification result, then replay the same delivery after changing middleware or proxy config: https://github.com/Ilia01/hooklens |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm having an issue with Stripe webhook signature verification when using Dokploy with Traefik. The webhook processing works correctly, but signature verification fails because Traefik seems to be modifying the request body.
The Problem:
Stripe webhooks require the exact raw request body for signature verification
Traefik appears to be modifying the request body/headers
Getting error: "No signatures found matching the expected signature for payload"
Beta Was this translation helpful? Give feedback.
All reactions