Curl_errno = 28 in webhook

Hi!

I’m launching webhook workflow trying to connect with facebook, by the side of n8n, all looks ok (I receive de webhook correctly with the headers), but from the side of facebook developers website, i receive the following error

The error message is:

Callback verification failed with the following errors: curl_errno = 28; curl_error = Operation timed out after 6000 milliseconds with 0 bytes received; HTTP Status Code = 200; HTTP Message = Connection established

My config
Self hosted n8n with npm and nginx
I’m allowing those ports

Nginx HTTPS ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
443 ALLOW Anywhere
22/tcp ALLOW Anywhere
5678 ALLOW Anywhere
Nginx HTTPS (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
5678 (v6) ALLOW Anywhere (v6)

I’m spicified the N8N_HOST and WEBHOOK_URL like https://n8n.myweb.com

I’m using cloudflare resolving dns and ssl

My workflow

Hi @Chervas, welcome to the community :tada:

I am very sorry to hear you’re having trouble.

Is your webhook node working without Facebook? If you send any valid request to its URL, do you get a response from n8n and do you see the data in n8n (keeping in mind the difference between test and production URLs)?

If the webhook is working in principle, can you confirm which URL you are using with Facebook? If it’s the test URL, are you executing the workflow manually? If it’s the production URL, is your workflow active?

And lastly, are you using the right HTTP method? Your webhook node currently expects a GET request, but POST requests are fairly common for webhooks (you might need to add a second webhook node with the same path, but a different method to cover all your bases).

Hy MutedJam, thank you for your support. I’ll reply line by line

Is your webhook node working without Facebook?
If I type only the url, I receive {“message”:“Workflow executed successfully”}

If you send any valid request to its URL, do you get a response from n8n and do you see the data in n8n (keeping in mind the difference between test and production URLs)?

Yes, I receive the json sent from Facebook to test url

Your webhook node currently expects a GET request, but POST requests are fairly common for webhooks

Facebook need a GET in first instance > validate a token / “hub.challenge” number > and expect the hub challenge number as response (more info here Erste Schritte - Webhooks - Dokumentation - Meta for Developers)

But seem that Facebook is not receiving the response

If I type only the url, I receive {“message”:“Workflow executed successfully”}

This is the expected behavior if no Respond to Webhook is executed in your workflow, presumably because the IF node doesn’t route your manual request to it.

Can you share the JSON payload you are seeing in n8n when Facebook sends the request to your webhook URL? Feel free to redact any confidential values, I am just interested in the exact data structure processed in n8n.