0

我有一个使用 nginx 作为 DNS Over TLS 代理运行的公共 Pi-Hole。到目前为止,一切都很好。不幸的是,我的 Android 智能手机无法再建立连接。

通过 Wireshark,我发现连接被中止,因为颁发了过期的证书。我已经通过 Certbot 颁发了一个新证书——只是为了安全起见——但仍然颁发了一个据说过期的证书。

我的 nginx 配置:

upstream dns-servers {
    server 127.0.0.1:53;
    server [::]:53;
    }

server {
    listen 853 ssl;
    listen [::]:853 ssl;

    ssl_certificate /etc/letsencrypt/live/sub.mydomain.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/sub.mydomain.com/privkey.pem; # managed by Certbot

    ssl_dhparam /etc/letsencrypt/dhparam-4096.pem;
    ssl_protocols        TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256;
    ssl_session_cache               shared:DoT:10m;
    ssl_handshake_timeout 10s;
    ssl_session_timeout 4h;
    ssl_session_tickets             off;

    proxy_pass dns-servers;
    proxy_connect_timeout   1s;
        preread_timeout         2s;

    }

线鲨:

Transport Layer Security
    TLSv1.2 Record Layer: Alert (Level: Fatal, Description: Certificate Expired)

使用 Windows 系统上的 Stubby,我可以毫无问题地连接。

是的,端口 53 被阻塞,无法从外部使用;)

我还建立了一个通常可以通过 HTTPS 访问并包含相同证书的网站。那里的Android还说一切都很好。

4

0 回答 0