在Ubuntu上快速搭建DoH服务

分类:笔记 日期:2021-04-18 作者:caocaofff 浏览:35

前提条件:有自己的域名,已经安装了nginx,并且申请了SSL证书。

安装dnscrypt:

add-apt-repository ppa:shevchuk/dnscrypt-proxy
apt-get update
apt install dnscrypt-proxy

此时应该能看到监听端口:127.0.0.53:53
修改/etc/dnscrypt-proxy/dnscrypt-proxy.toml

vim /etc/dnscrypt-proxy/dnscrypt-proxy.toml

添加配置:

server_names = ['google']

重启dnscrypt-proxy服务:

service dnscrypt-proxy restart

安装doh-server
直接安装下面的安装包:doh-server_2.0.1_amd64.deb.zip

dpkg -i doh-server_2.0.1_amd64.deb

修改监听地址

vim /etc/dns-over-https/doh-server.conf

修改upstream字段:

upstream = [
    #"1.1.1.1:53",
    #"1.0.0.1:53",
    #"8.8.8.8:53",
    #"8.8.4.4:53",
    "127.0.0.53:53",
]

重启doh-server服务

service doh-server restart

新建nginx配置文件,内容如下:

upstream dns-backend {
    server 127.0.0.1:8053;
}
server {
        listen 80;
        server_name dns.example.com;
        root /www/dns;
        access_log /var/log/nginx/dns.access.log;
         location /dns-query {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_redirect off;
                proxy_set_header        X-Forwarded-Proto $scheme;
                proxy_read_timeout 86400;
                proxy_pass http://dns-backend/dns-query ;
        }
}

注意:上面的配置文件里,请自行修改域名、端口、SSL配置等,这里的80只是示例。

搭建完毕后,DoH地址是:

https://dns.example.com/dns-query

使用方法可以参考:https://cboot.org/post/136.html

评论 (暂无评论)

发表评论

昵称:  
邮箱:  
网址: