Skip to main content
Question

Cannot register webhook -- GET to callback URL does not return 200


Forum|alt.badge.img+3

Hello, I followed the steps given at: https://developers.strava.com/docs/webhookexample/ and https://developers.strava.com/docs/webhookexample/.

I implemented the get and post methods to address the verification and calls for the webhooks according to the documentation.

However, when I call the following URL, I keep getting the same error:

curl -X POST https://www.strava.com/api/v3/push_subscriptions -F client_id=MASKED -F client_secret=MASKED -F callback_url=MASKED -F verify_token=MASKED

I also tried calling the endpoint directly, according to the command below:

curl -X GET ‘{your-callback-url}?hub.verify_token=test&hub.challenge=15f7d1a91c1f40f8a748fd134752feb3&hub.mode=subscribe’

I'm able to see the challenge in the response.

I also enabled logging to the server, and I can't see any calls on behalf of strava when I post to push_subscriptions.

 

I also set the authorization callback URL as the same as the webhook callback.

What am I missing?

3 replies

Forum|alt.badge.img+2

Hi @lucasdias , I'm having the exact same issue. Did you find a solution?


Forum|alt.badge.img+2

It seems like Strava sends an empty "Content-Length" header for the GET request which gets blocked on my server setup via AWS load balancer using "Desync mitigation mode" set to strictest.
AWS treats an empty "Content-Length" header as "Acceptable" which gets blocked by the load balancer on this mitigation mode. Setting it to "defensive" solved the issue for me.


Forum|alt.badge.img
  • Hub Starter
  • 1 reply
  • January 29, 2025

Thank you for posting about this issue. It’s also a problem with Cloudflare as the “Bot Fight Mode” was blocking the Subscription Validation Request for me.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept, you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings