Domain-Name-System
為什麼 Firefox 會解析我的域而 Chrome 不會
我一直在使用 DNSMasq 設置 LAN DNS 伺服器來轉發我的網路伺服器,該伺服器目前具有 https 並由我的路由器進行埠轉發。我註冊了一個域,可以從我的 LAN 外部很好地解析,並且我一直在解決源自 LAN 的請求的 NAT 環回問題。在exausting之後花了足夠的時間拉頭髮
ifconfig
,dig
我打開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
點擊“清除主機記憶體”按鈕。