-
Notifications
You must be signed in to change notification settings - Fork 311
Add support for proxyprotocol for DoT #473
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 To request another review, post a new comment with "/windsurf-review".
650f152 to
f2ba039
Compare
|
/windsurf-review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 To request another review, post a new comment with "/windsurf-review".
If the connection is made from one of the trusted proxies ip addresses, it is allowed that TCP and TLS connections contain a proxyprotocol header to pass source connection information. This in particular allows dns over tls behind a load balancer, while keeping source ip address information. Signed-off-by: Peter Verraedt <peter@verraedt.be>
f2ba039 to
8f35270
Compare
|
/windsurf-review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me 🤙
💡 To request another review, post a new comment with "/windsurf-review".
|
Thanks a lot for your work on this, @peterverraedt. Have you happened to look at the UDP support as well, and can you estimate how difficult it would be to implement? As far as I know, |
Support the proxy protocol in TCP and TLS listeners, to allow Adguard to be placed behind a load balancer/proxy such as nginx or traefik. If the connection is made from one of the trusted proxies ip addresses, it is allowed - but not required - that TCP and TLS connections contain a proxy protocol header to pass source connection information. If a connection is made from other ip addresses, no proxy protocol header is allowed.
We don't allow proxy protocol in the HTTPS or QUIC listeners as there the source ip information can be passed by HTTP headers instead.
This fixes AdguardTeam/AdGuardHome#2798.