我有一个小型家庭网络,DNS 通过装有 Pi-Hole 的虚拟机运行。几天前,硬盘问题导致运行虚拟机的机器瘫痪,因此我临时将路由器(UDM SE)设置为使用 8.8.8.8 和 8.8.4.4 作为其 DNS 服务器。
从那时起,我在访问 Fastly 托管的网站时就一直遇到问题 - 比如 Reddit、XKCD,甚至 Stack Exchange 本身。页面偶尔可以工作(这就是我能够输入这个问题的原因!)但更多时候图像和其他内容会丢失,或者连接会失败并显示“ERR_CONNECTION_RESET”消息。
我有点搞不懂为什么会发生这种情况,以及为什么 Fastly 会受到影响。我已刷新所有设备上的 DNS 缓存,将设备设置为使用 8.8.8.8 或 1.1.1.1 手动绕过路由器 DNS,但似乎没有效果。我所有设备都遇到过这个问题,所以它不是特定于机器的,重新启动整个网络设备也未能解决问题。
即使修复了虚拟机并将 pi-hole 重新设置为崩溃后使用的确切配置,问题仍然存在。检查日志表明 DNS 请求正确通过,我可以毫无问题地 ping 和 tracert 到受影响的网站,但我无法在我尝试过的任何浏览器中可靠地打开它们。
我将列出尝试通过各种程序访问受影响网站的结果,并在评论中提出修改建议。
1- Google Chrome:失败,出现“_ERR_CONNECTION_RESET”。在详细登录时,将反复出现以下错误:
[21228:30708:0618/021007.153:ERROR:ssl_client_socket_impl.cc(978)] handshake failed; returned -1, SSL error code 1, net_error -101
2- 使用标志忽略证书错误的 Google Chrome:“--ignore-certificate-errors-spki-list”不被识别为有效的命令行选项。“--ignore-certificate-error”和“--ignore-ssl-errors”不会改变行为,并导致以下错误消息。
PS C:\Program Files (x86)\Google\Chrome\Application> .\chrome.exe --enable-logging --v=1 --ignore-certificate-error --ignore-ssl-errors
PS C:\Program Files (x86)\Google\Chrome\Application> [17988:23136:0618/141158.044:ERROR:ssl_client_socket_impl.cc(978)] handshake failed; returned -1, SSL error code 1, net_error -101
[17988:23136:0618/141158.069:ERROR:ssl_client_socket_impl.cc(978)] handshake failed; returned -1, SSL error code 1, net_error -101
[20400:25424:0618/141158.266:ERROR:cert_issuer_source_aia.cc(34)] Error parsing cert retrieved from AIA (as DER):
ERROR: Couldn't read tbsCertificate as SEQUENCE
ERROR: Failed parsing Certificate
[20400:28820:0618/141159.529:ERROR:device_event_log_impl.cc(222)] [14:11:59.529] USB: usb_service_win.cc:415 Could not read device interface GUIDs: The system cannot find the file specified. (0x2)
[17988:23136:0618/141200.144:ERROR:ssl_client_socket_impl.cc(978)] handshake failed; returned -1, SSL error code 1, net_error -101
[20400:25424:0618/141200.307:ERROR:cert_issuer_source_aia.cc(34)] Error parsing cert retrieved from AIA (as DER):
ERROR: Couldn't read tbsCertificate as SEQUENCE
ERROR: Failed parsing Certificate
[17988:23136:0618/141207.398:ERROR:ssl_client_socket_impl.cc(978)] handshake failed; returned -1, SSL error code 1, net_error -101
3- iOS 上的 Safari:失败,出现“Safari 无法打开页面,因为它无法与服务器建立安全连接。”错误。
4- Firefox:默默失败。打开控制台日志记录显示 GET 请求未收到响应。
5- curl:给出以下错误消息,分别为 -4 和 -6。
curl -v -4 www.reddit.com
* trying 151.101.1.140:80...
* Connected to www.reddit.com (151.101.1.140) port 80 (#0)
> GET / HTTP/1.1
> Host: www.reddit.com
> User-Agent: curl/7.81.0
> Accept: */*
>
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by peer
curl -v -6 www.reddit.com
* Closing connection 0
curl: (7) Couldn't connect to server