Skip to content

Cannot use internal Docker hostname for Chatwoot URL (Validation Error 400) / Cloudflare routing loop #2472

@Artur-Su

Description

@Artur-Su

Welcome!

  • Yes, I have searched for similar issues on GitHub and found none.

What did you do?

Description:
Hello! I am running Evolution API v2 and Chatwoot inside the same Docker network (ai_net). Both are exposed to the internet via Caddy and Cloudflare.

Currently, my Chatwoot integration is forcing a network loop:
Evolution API -> Cloudflare -> DOCKER (Caddy -> Chatwoot)

I want: DOCKER ( Evolution API -> Caddy -> Chatwoot) OR DOCKER ( Evolution API -> Chatwoot)

The Problem:
To eliminate this loop and keep traffic internal, I want to point my Evolution instance to Chatwoot's internal Docker hostname (http://chatwoot_web:3000).

YAML
extra_hosts:
- "host.docker.internal:host-gateway"

My Questions:

Is it currently possible to bypass the strict URL validator so I can just use http://chatwoot_web:3000?

If not, is using extra_hosts the officially recommended best practice for users trying to avoid external proxy loops - "chatwoot.my-domain.com:host-gateway"?

Thank you for your help!

What did you expect?

I expected the API to accept standard internal Docker hostnames (like http://chatwoot_web:3000) for the Chatwoot integration URL. This would allow the Evolution API and Chatwoot containers, which share the same Docker network, to communicate directly with each other on the backend. This setup eliminates unnecessary network loops through external proxies or Cloudflare.

What did you observe instead of what you expected?

The backend URL validator rejected the internal Docker hostname, throwing a 400 Bad Request error with the message url is not valid. Because the validator forces the use of a standard public domain format (e.g., https://chatwoot.my-domain.com), it forces local server traffic to be routed out to Cloudflare and back down to the server, creating a massive external routing loop for internal API calls.

Screenshots/Videos

No response

Which version of the API are you using?

2.3.7

What is your environment?

Windows

Other environment specifications

No response

If applicable, paste the log output

No response

Additional Notes

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions