Open toverux opened 2 months ago
/attempt #3436
with your implementation plan/claim #3436
in the PR body to claim the bountyThank you for contributing to coollabsio/coolify!
Are you sure the request where you do not seem to get the right IP are not just internal request in coolify? For example the healthcheck of your container?
@peaklabs-dev Yes, it has been verified that those are attached to users.
By the way, another info I didn't mention, the IP is somewhat sticky, when a user gets logged with the wrong IP, it stays so for the duration of their session, but next time the right IP can be used. It might be tied to a keep-alive socket they use when connecting, sometimes the right IP is passed, sometimes not, until they get another socket and the dice is rolled again. Just a theory and not sure if that helps. Edit: that being said, I once made a few manual requests with curl (so no keepalive) and each time got the wrong IP.
This was too much of a pressing issue for me, so in the meantime I've disabled the Coolify-managed proxy and apt-installed Nginx that I configured manually. Sadly, I loose load balancing and rolling releases, so a fix would still be much appreciated.
same issue
I've disabled the Coolify-managed proxy and apt-installed Nginx that I configured manually.
So this was on the host machine and it worked well. Then I migrated Nginx to a container again and had the exact same issue.
So I guess this is not an issue with Coolify's handling of proxies specifically, but something about Coolify's Docker network or Docker in general that I don't understand.
Description
Hello!
I am having an issue with Traefik and Caddy proxies where they frequently (and kinda randomly) send me a forwarded-for IP address header that is actually a proxy local IP. Ex.
["172.18.0.2", "xxx.xxx.xxx.xxx"]
with the first IP being a proxy IP, second is the end user IP, and I have the rightX-Forwarded-For
header.["172.18.0.2", "172.18.0.1"]
withX-Forwarded-For
being the second and "wrong" IP.I tried adding
traefik.entryPoints.http.forwardedHeaders.insecure=true
to my project's Traefik config to see if it would just forward headers as-is, but it didn't change a thing.I use pretty much all the defaults coming with a proxy install, didn't change anything. This is the project's config:
I have no load balancing between server, both the proxy and the projects are on the same machine, one running instance only.
I'm completely unfamiliar with the stack (Coolify, Docker, Traefik, Caddy, etc) so I don't know where to look. I posted in the Discord, but no one was able to help.
I thought this is a serious enough bug though (and blocking, for me), since it makes us unable to track users' IPs (I need this for rate limiting and IP-banning), so I thought I could post an issue here.
Minimal Reproduction (if possible, example repository)
console.log(req.ip)
with proxy headers trusting enabled in your application's HTTP router.Exception or Error
No response
Version
4.0.0-beta.332
Cloud?