-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Setting to allow serving DNS-over-HTTPS unencrypted #1009
Comments
Well, I see no problem with this. Please submit a pull request. Here's where you need to make the change: |
Great! I'll see if I can do it this weekend. |
Any progress? |
Sorry I was distracted. Will send a PR this weekend. |
FWIW, I think the user should also be able to enable DNS-over-HTTP via the settings page. That would take a while to get right as I'm not very familiar with the frontend stuff. |
:-( It looks like the UI is implemented in React, which I have 0 knowledge of. I guess I'll leave this up to you to implement. What I want to see in the settings page:
|
If AGH serves DNS over HTTP behind a reverse proxy, maybe it's a good idea to recognize client's real IP from http header (i.e. |
That would be my expectation yes. |
@yegle I suggest starting with something really simple -- not expose this to the UI at all, just add a configuration property that will enable this behavior |
Is also possible to do this with DOT? |
@Akruidenberg it does not make much sense to do it for DOT. DOT without encryption is simply plain DNS over TCP which is already supported. |
ec8fe0b |
@szolin well, I think we should make it possible to change it in the UI. Let's discuss it later, I've assigned it to v0.104 |
Is this already implemented in version 0.100.9? The option is available in the config file. Which docker labels are needed for traefik to get this working? The example is only for nginx. |
Yes, it's implemented. But there's no way to set in via UI, you have to edit yaml file:
|
Maybe it's an good idea to write a article on the wiki with some examples with nginx and traefik. is a bit difficult to configure to get it working. |
Got dns over https working now. Not to difficult. set traefik to route over port 80 (http) and set "allow_unencrypted_doh" and the SNI value to true. However, how to get Traefik 2 working with dns over tls. Traefik version 2 supports tcp. This is my config:
How to get this config working? |
its working! wrong port: 853 is wrong. must be 53. |
new update: DOT is sometimes slow with complex pages. DOH is working very well with traefik. |
I can't get DoT working with a custom signed Cert. Can i deactivate the cert validation from AdGuard Home? |
/bump my question |
Implemented long time ago. Closing since we don't plan to provide any UI setting for that, unencrypted DOH is an option that's supposed to be used by people who know what they're doing and know how to change the config file. |
Sorry for bumping this issue from long ago. This is my current
My main question is: How do I set the port DoH server is listening to? Cause I keep getting connection refused on port 80 when doing DoH queries with |
@Allen-hu |
@ameshkov I'd like to know where (which port) I should proxy my DoH requests to, so I could config the reverse proxy correctly. Thanks in advance! |
There is a |
@yegle I thought that was for the web interface only? Should I be sending my DoH requests there as well? I set
while sending queries to other ports would result in connection refused:
|
Yes I set that to 80 and have my reverse proxy forward request to that and it seems to work. https://github.com/yegle/your-dns/blob/master/adguard/conf/AdGuardHome.yaml.example this is the config I'm using. |
Oh I see you are testing using the JSON API. I'm not actually sure Adguard Home supports that. I usually test a doh server using https://github.com/curl/doh. |
Problem Description
I have a public IP and I already have a reverse proxy (with wildcard certificate) in place to serve different websites.
Adguard Home's DoH support seem to only provide encrypted service, and have no option to provide non-encrypted plaintext HTTP, which means I need to reverse proxy HTTPS traffic to HTTPS backend if I want to keep my existing reverse proxy.
Proposed Solution
Adguard Home should be able to provide the same HTTP request handler in plaintext HTTP, so that I can terminate HTTPS connection using my reverse proxy and forward to backend via HTTP.
Alternatives Considered
Reverse proxy HTTPS traffic in HTTPS.
Additional Information
Full disclosure: I know Adguard Home have closed relationship with CoreDNS and this FR has been rejected: coredns/coredns#3257
But I still think this is a valid feature and should be supported:
I hope you are convinced this is a good idea :-)
The text was updated successfully, but these errors were encountered: