Domain-Name-System

為什麼 Firefox 會解析我的域而 Chrome 不會

  • January 26, 2022

我一直在使用 DNSMasq 設置 LAN DNS 伺服器來轉發我的網路伺服器,該伺服器目前具有 https 並由我的路由器進行埠轉發。我註冊了一個域,可以從我的 LAN 外部很好地解析,並且我一直在解決源自 LAN 的請求的 NAT 環回問題。在exausting之後花了足夠的時間拉頭髮ifconfigdig我打開firefox Nightly(98)發現我在地址欄中的域名很好地解決了一個https請求,現在有點鬆了一口氣,我不知道為什麼會這樣。

dig mydomain.local 似乎與為我的伺服器所在的私有 IP 返回的 A 記錄正常工作:

; <<>> DiG 9.10.3-P4-Ubuntu <<>> mydomain.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6363
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mydomain.local.                 IN      A

;; ANSWER SECTION:
mydomain.local.          0       IN      A       192.168.0.29

;; Query time: 3 msec
;; SERVER: 192.168.0.29#53(192.168.0.29)
;; WHEN: Sun Jan 16 22:33:18 AST 2022
;; MSG SIZE  rcvd: 58

並且 IP 確實按預期解析和提供網站內容

我一直在做一些 dnsmasq 的基本配置,這裡是我在dnsmasq.conf

domain-needed
bogus-priv
no-resolv
server=8.8.8.8
server=8.8.4.4
local=/localnet/
address=/mydomain.local/192.168.0.29
domain=localnet

並且主機文件包含

192.168.0.29    mydomain.local

我已經清除了 Chrome 的本地 dns 記憶體,chrome://net-internals/#dns但沒有任何改變,所以此刻我想知道 chrome 在這方面與 firefox 有何不同。

Chrome 不僅需要一個可以在 上完成的 dns 記憶體刷新Chrome: chrome://net-internals/#dns,它還需要一個套接字池的刷新。所以去chrome://net-internals/#sockets點擊flush socket pools修復了這個記憶體問題。

Chrome 有自己的 DNS 記憶體,與其他瀏覽器是分開的。這可以解釋為什麼其他瀏覽器沒有問題。如果您想清除 DNS 記憶體並使其影響 Chrome,請轉到 Chrome 中的以下頁面:chrome://net-internals/#dns

點擊“清除主機記憶體”按鈕。

引用自:https://serverfault.com/questions/1090210