Webhook to device on local network not working (even after setting env variable)

Hey there,

Even though in the past I’ve been able to send webhooks to a device on my local network, for some reason it’s stopped working and I can’t seem to figure out why. I’m running Baserow v1.23.0.

In my .env file, I’ve set BASEROW_WEBHOOKS_ALLOW_PRIVATE_ADDRESS=true, like I did originally when I wanted to send webhooks before. I tried testing in Postman and no issues there either.

Here’s the error in the container logs whenever I try to test it:
[BACKEND][2024-05-10 01:44:22] 10.77.78.117:0 - "POST /api/database/webhooks/table/544/test-call/ HTTP/1.1" 400 [BACKEND][2024-05-10 01:44:11] WARNING 2024-05-10 01:44:11,293 django.request.log_response:241- Bad Request: /api/database/webhooks/table/544/test-call/

Am I missing something? Is this an issue with v1.23.0 specifically?

Thanks in advance!

Screenshot of error:
image

Hello @brandondasilva,

Can you provide more information about how your webhook is configured so I can test it on my end?

For sure.
I’m doing a basic GET request for now just to get this issue fixed.
URL points to a local server that’s running NodeRed. So something like - 10.0.0.1:1880.
I built a basic response in NodeRed for a GET request (responds with a 200 code) but I keep getting the error whenever I try to test to a local server (I’m not seeing anything on NodeRed either, it’s like it never got the request).

I tried doing a GET request to google.com and it worked fine. Seems to only be happening on local devices.

Hope this helps.

I just updated to v1.24.2 and I’m still experiencing the issue btw.

The URL should start with http:// or https://
I’ve created a similar setup in my environment and everything works as expected.
If I run Baserow with

docker run \
  -d \
  --name baserow \
  -e BASEROW_PUBLIC_URL=http://localhost -e BASEROW_WEBHOOKS_ALLOW_PRIVATE_ADDRESS=true \
  -v baserow_data:/baserow/data \
  -p 80:80 \
  -p 443:443 \
  --restart unless-stopped \
  baserow/baserow:1.24.2

and I create a webhook to another machine in my network I can see this:

Are you sure Baserow is using your .env? How do you run Baserow? Is NodeRed listening to that address? Is there a firewall blocking Baserow from reaching your URL?

After looking further, your question re: “Are you sure Baserow is using your .env” I went back and checked and it in fact wasn’t. I went into my docker-compose file and added the BASEROW_WEBHOOKS_ALLOW_PRIVATE_ADDRESS variable and now it works.

Thanks for your help!