DoH(DNS over HTTPS)功能
从GoEdge v1.2.0开始,可以为智能DNS开通DoH功能,开通后,可以通过HTTPS协议查询域名解析记录。
启用DoH
可以在”智能DNS”菜单–“集群管理”菜单对应页面中选择对应的集群,并进入集群设置页面,然后进入”DoH”设置选项:
选中”启用DoH”一栏中的复选框,然后选择或者上传域名对应的SSL证书,并保存,即表示启用完成。
防火墙
你需要在安全策略或者防护墙中设置 443/tcp
为通过。
访问地址
在其他软件需要填写访问地址的地方需要填入:
https://你的节点地址或者域名/dns-query
支持GET和POST请求,请求规范请参考 https://datatracker.ietf.org/doc/html/rfc8484。
测试
在”智能DNS”菜单–“解析测试”菜单中,选择对应的集群和节点,然后端口选择”443/doh”,并输入要测试的域名,即可对DoH服务进行测试:
JSON API
在启用DoH功能后,自动也会提供一个JSON API,地址为:
https://你的节点地址或者域名/resolve?name=记录名&type=记录类型
接收两个参数:
name
- 记录名,比如example.com
type
- 记录类型,比如A
、AAAA
,或者使用数字类型1
、28
可以使用 curl
进行测试:
curl -v "https://你的节点地址或者域名/resolve?name=example.com&type=A" --insecure --output -
结果可能是类似于以下格式:
{
"AD": false,
"Answer": [
{
"TTL": 600,
"data": "192.168.2.40",
"name": "example.com.",
"type": 1
}
],
"CD": false,
"Question": [
{
"name": "example.com.",
"type": 1
}
],
"RA": true,
"RD": false,
"Status": 0,
"TC": false
}