Nginx DoT 网关 > 状态 500
Nginx DoT Gateway > Status 500
我尝试用 nginx 创建一个 DoT 网关。但是,每次尝试通过 Android 私有 DNS 连接时,我都会收到状态 500 响应。
我的 Nginx 配置如下所示:
stream {
log_format basic '$remote_addr [$time_local] $protocol $status $bytes_sent $bytes_received $session_time $upstream_addr';
upstream dns {
server 8.8.8.8:53;
}
server {
listen 853 ssl;
access_log /var/log/nginx/dot-access.log basic;
error_log /var/log/nginx/dot-error.log;
ssl_certificate /etc/letsencrypt/live/my.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my.domain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_timeout 4h;
ssl_handshake_timeout 10s;
proxy_pass dns;
}
}
我已经尝试用 https://medium.com/@nykolas.z/troubleshooting-dns-over-tls-e7ca570b6337 and https://www.aaflalo.me/2019/03/dns-over-tls/. A test request with https://getdnsapi.net/query/ 解决错误,效果很好,我得到了 "status": GETDNS_RESPSTATUS_GOOD
。在 /var/log/nginx/dot-access.log 我看到
185.49.141.27 [01/Oct/2021:11:59:57 +0200] TCP 200 56 130 0.210 8.8.8.8:53
但是,如果我在 Android 私有 DNS 设置中输入“my.domain.com”,我会收到错误消息“无法连接”并且在 /var/log/nginx/dot-access.log
84.33.44.28 [01/Oct/2021:11:55:01 +0200] TCP 500 0 0 0.131 -
对我来说,这意味着此设置基本上可以工作,但不适用于 Android 私有 DNS。有人有想法吗?
我有完全相同的设置,直到昨天它仍然有效。
Let's Encrypt 证书似乎存在问题:
https://twitter.com/WatfordJC/status/1443611562028245005
可以通过在您的 certbot 请求中添加 --preferred-chain="ISRG Root X1" 来解决该问题。我只是强制更新了我的证书,现在它又可以工作了。
讨论该主题的其他用户:https://www.reddit.com/r/Adguard/comments/pynis4/agh_android_private_dns_couldnt_connect/
我尝试用 nginx 创建一个 DoT 网关。但是,每次尝试通过 Android 私有 DNS 连接时,我都会收到状态 500 响应。
我的 Nginx 配置如下所示:
stream {
log_format basic '$remote_addr [$time_local] $protocol $status $bytes_sent $bytes_received $session_time $upstream_addr';
upstream dns {
server 8.8.8.8:53;
}
server {
listen 853 ssl;
access_log /var/log/nginx/dot-access.log basic;
error_log /var/log/nginx/dot-error.log;
ssl_certificate /etc/letsencrypt/live/my.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my.domain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_timeout 4h;
ssl_handshake_timeout 10s;
proxy_pass dns;
}
}
我已经尝试用 https://medium.com/@nykolas.z/troubleshooting-dns-over-tls-e7ca570b6337 and https://www.aaflalo.me/2019/03/dns-over-tls/. A test request with https://getdnsapi.net/query/ 解决错误,效果很好,我得到了 "status": GETDNS_RESPSTATUS_GOOD
。在 /var/log/nginx/dot-access.log 我看到
185.49.141.27 [01/Oct/2021:11:59:57 +0200] TCP 200 56 130 0.210 8.8.8.8:53
但是,如果我在 Android 私有 DNS 设置中输入“my.domain.com”,我会收到错误消息“无法连接”并且在 /var/log/nginx/dot-access.log
84.33.44.28 [01/Oct/2021:11:55:01 +0200] TCP 500 0 0 0.131 -
对我来说,这意味着此设置基本上可以工作,但不适用于 Android 私有 DNS。有人有想法吗?
我有完全相同的设置,直到昨天它仍然有效。 Let's Encrypt 证书似乎存在问题: https://twitter.com/WatfordJC/status/1443611562028245005
可以通过在您的 certbot 请求中添加 --preferred-chain="ISRG Root X1" 来解决该问题。我只是强制更新了我的证书,现在它又可以工作了。 讨论该主题的其他用户:https://www.reddit.com/r/Adguard/comments/pynis4/agh_android_private_dns_couldnt_connect/