Làm cách nào để xóa / xóa bộ đệm DNS trong Google Chrome?


903

Như bạn có thể biết Google Chrome có bộ đệm DNS nội bộ của riêng mình. Có cách nào để xóa nó mà không phải chờ thời gian chờ hoặc đóng trình duyệt không?


Lý do duy nhất để tôi xóa bộ đệm DNS của Chrome là vì nếu không, tôi không thể truy cập Google. May mắn thay, Google không phải là công cụ tìm kiếm duy nhất ngoài đó (nếu không tôi sẽ không tìm thấy câu hỏi này) và tôi chỉ phải đối phó với Chrome tại nơi làm việc.
Nolonar

Đối với tôi, điều này có lẽ là do có một máy chủ DNS không chính xác trong độ phân giải. (Tôi đang cố gắng truy cập máy chủ nội bộ trên VPN). Những người tại T-com đã định cấu hình sai DNS của họ để phản hồi với trang web quảng cáo của họ thay vì NXDOMAIN và những người đã viết Chrome không quan tâm đến việc tôn trọng thứ tự giải quyết, nhưng thay vào đó, vui vẻ sử dụng bất kỳ máy chủ DNS nào hoạt động.
Ketil

Câu trả lời:


1316

Điều hướng đến chrome: // net-internals / # dns và nhấn nút "Xóa bộ nhớ cache của máy chủ".


41
Kỳ lạ thay, điều này chỉ hoạt động theo một hướng. Tôi có một ánh xạ trong tệp máy chủ ánh xạ một tên miền vào máy cục bộ (tức là tới 127.0.0.1), khi tôi xóa ánh xạ và xóa bộ đệm DNS trong Chrome, nó sẽ tải trang web từ internet một cách chính xác, nhưng khi tôi thêm ánh xạ một lần nữa vào tập tin máy chủ, nó vẫn tải trang web từ internet. Nó hiển thị danh sách DNS được lưu trong bộ nhớ cache trong Chrome sau khi xóa bộ đệm DNS (cũng xóa bộ đệm của hệ điều hành bằng ipconfig / flushdns), tuy nhiên, nó sẽ tải trang web từ internet! Có vẻ như một lỗi.
Mee

10
Thậm chí khó chịu hơn, Chrome hiển thị chính xác địa chỉ IP (127.0.0.1) cho tên miền đó trong danh sách bộ đệm DNS (sau khi xóa và cố gắng tải lại trang web), vẫn tải trang web từ internet.
Mee

4
thật tuyệt vời, có một danh sách tất cả các tùy chọn chrome: // * không ai biết?
Ian

29
@Ian chrome: // about
ephemient

10
Không đủ cho tôi. Phải "ipconfig / flushdns" trong dấu nhắc lệnh (tìm thấy trong câu trả lời bên dưới)
Adam Tal

175

Đôi khi bạn cần phải xóa các vùng ổ cắm sau khi xóa DNS:

chrome://net-internals/#sockets

4
Lưu ý rằng Chrome hiện giám sát hoststệp và tự động dò tìm dnscache bất cứ khi nào có bất kỳ thay đổi nào đối với hoststệp. Bạn có thể dễ dàng kiểm tra xem nó có hoạt động trên hệ thống của bạn hay không bằng cách thêm một dòng trống sau hoststệp của bạn và danh sách tại chrome://net-internals/#dnssẽ được tự động hóa. sau khi bạn đã cập nhật hoststệp của mình , chỉ cần nhấp vào nút "Flush socket pool" sẽ hoạt động . Không có gì khác là cần thiết.
Pacerier

Vâng, tôi dường như đã nhận thấy hành vi tương tự kể từ 1 năm hoặc lâu hơn. Tuy nhiên, có thể nó không hoạt động mọi lúc, vì tôi vẫn nhận được những phản hồi về câu trả lời này.
Bojan Hrnkas

Chỉ cần thử nghiệm trên Server 2003. Bất cứ khi nào có bất kỳ thay đổi nào đối với tệp máy chủ, dịch vụ dnscache sẽ tự động tải lại bộ đệm mà không cần bất kỳ sự ipconfig /flushdnsvô nghĩa nào. ipconfig /flushdnsdường như là một cá trích đỏ trong toàn bộ vấn đề này.
Pacerier

Làm việc cho tôi, ngay cả sau khi xả dns trong cmd và thực hiện câu trả lời được chấp nhận
Rob Scott

1
Công việc ngắn hạn.
Hippyjim

53

"Điều hướng đến chrome: // net-internals / # dns" không hoạt động trong trình duyệt Google Chrome, ít nhất là trên hệ thống của tôi. Có vẻ như giải pháp này có thể hoạt động cho Google Chrome OS, nhưng nói chung không phải trình duyệt Google Chrome. Đối với tôi, liên kết chuyển hướng ở đây:
Dự án Chromium

Nó xuất hiện "Làm trống bộ nhớ cache" là giải pháp tốt hơn. Cũng lưu ý trình duyệt của tôi nói "Tùy chọn" thay vì "Tùy chọn"

Via http://www.google.com/support/forum/p/Chrom/thread?tid=026b6a1d9151a6e3&hl=vi

"Chuyển đến công cụ -> tùy chọn -> Dưới mui xe -> Xóa dữ liệu duyệt web và kiểm tra 'làm trống bộ đệm' và nhấp vào xóa dữ liệu duyệt web. Có, tôi biết, đó không phải là bộ đệm DNS mà tôi mong đợi để xóa, nhưng có vẻ như vậy. Và bây giờ nó hoạt động với tôi. "


4
Xác nhận điều này làm việc cho tôi, Xóa dữ liệu duyệt web -> Làm trống bộ đệm. Không có phương pháp khác làm việc. Cảm ơn PJ.
Không khí

Điều này làm việc cho tôi trên cả chrome và crom khi /etc/resolver/foo.com bị bỏ qua.
chovy

Có vẻ như Google đang dần thay đổi tên đối với một số URL nội bộ qua các phiên bản khác nhau. Kể từ phiên bản 27.0.1421.0 (184274) ...
DocSalvager

Ít nhất là xóa các hình ảnh và tệp được lưu trong bộ nhớ cache không hoạt động đối với tôi (Chromium 33 trên Ubuntu) sau khi bật OpenVPN và do đó chuyển đổi máy chủ DNS đang hoạt động của tôi. ( Xóa bộ nhớ cache của máy chủ như trong câu trả lời phổ biến cũng không hoạt động.) Cho đến nay tôi không tìm thấy bất cứ thứ gì hoạt động ngoại trừ khởi động lại trình duyệt hoặc nhập địa chỉ IP vào URL.
Jesse Glick

3
Xóa hình ảnh và tập tin lưu trong bộ nhớ cache làm việc cho tôi! Không biết tại sao, nhưng nó đã làm. Windows 8.1, Chrome 41.0.2272,89 m
Bing

43

Nhấp vào "xóa bộ nhớ cache máy chủ" chrome://net-internals/#dnssẽ làm điều đó cho Google Chrome, nhưng có các bộ đệm DNS khác để xem xét trên máy của bạn.

Các cửa sổ:

ipconfig /flushdns

OS X trước 10.7 (trước Lion):

sudo dscacheutil -flushcache

OS X 10.7 Ném10.9 (Sư tử, Sư tử núi, Mavericks):

sudo killall -HUP mDNSResponder

OS X 10.10+ (Yosemite):

sudo discoveryutil mdnsflushcache

OS X 10.11, 10.12+ (El Capitan, Sierra):

sudo killall -HUP mDNSResponder

Bộ định tuyến của bạn cũng có thể lưu bộ đệm DNS (khởi động lại hoặc đọc hướng dẫn). Thử nghiệm cuối cùng là sử dụng đào , nhưng điều này sử dụng máy chủ DNS của mạng của bạn chứ không phải máy chủ có thẩm quyền theo mặc định:

dig superuser.com

Để truy vấn ngay từ nguồn, hãy thử một cái gì đó như:

dig superuser.com @ns1.serverfault.com

1
"sudo Discoveryutil mdnsflushcache" không hoạt động trên El Capitan (10.11) đối với tôi, nhưng "sudo killall -HUP mDNSResponder" đã làm, nó nói rằng Discoveryutil không tồn tại, có thể đó là Sierra và không?
Ezra

20

Trong OS X 10.9.1 w / Chrome 32, tôi cần xóa cả bộ đệm của máy chủ và xóa các ổ cắm để lấy Chrome để làm mới bộ đệm DNS:

  1. Điều hướng đến chrome: // net-internals / # dns và nhấp vào "Xóa bộ nhớ cache của máy chủ"
  2. Điều hướng đến chrome: // net-internals / # socket abd nhấp vào "Flush Socket Pools"

Tôi cũng cần nó trong Windows 8.1, vì vậy nó không chỉ là OS X.
benrick

Chrome cho Linux cũng cần nóchrome://net-internals/#sockets
pengemizt 17/12/14

Chrome cho Linux chỉ cần một ổ cắm. Không tuôn ra DNS. superuser.com/a/611712/30982
Elijah Lynn

18

Điều này làm việc cho tôi: Làm trống và xóa bộ đệm đĩa

Trong Chrome, nhấp vào biểu tượng cờ lê và sau đó Tùy chọn . Chuyển đến tab Under Hood . Nhấp vào nút Xóa dữ liệu duyệt web trong phần Quyền riêng tư . Chỉ chọn hộp kiểm "Làm trống bộ đệm" và sau đó nhấp vào nút Xóa dữ liệu duyệt web .

Điều này hoạt động ngay lập tức - tôi thậm chí không phải đóng trình duyệt.


1
Điều này dường như hoạt động để buộc Chrome nhận ra các thay đổi đối với tệp máy chủ.
tối thiểu

Điều này làm việc cho tôi trên Mac Chrome, sau khi đã thử chrome://net-internals/#dnsmẹo tuôn ra được đề cập ở đây, nhưng không thành công.
Markus Amalthea Magnuson

12

Theo như tôi có thể tìm thấy, trong các phiên bản gần đây của Chrome (Tôi đang ở ngày 26.0.1410.43), không có cách nào (đáng tin cậy) để làm điều đó, ít nhất là không phải trên máy Mac. Không có gợi ý nào trên trang này có tác dụng với tôi.

Tình huống của tôi là tôi đã thêm một mục nhập tệp máy chủ , nhưng Chrome vẫn đang đi đến địa chỉ IP được DNS trả về. Firefox hoạt động chính xác.

Trong thực tế, chrome://net-internals/#dnstrang chỉ đơn giản là nói dối về địa chỉ IP cho tôi. Nó hiển thị IP từ mục nhập máy chủ, nhưng đó rõ ràng không phải là nơi nó thực sự lấy trang web từ đó.


2
Cùng một vấn đề ở đây. Tôi đã thử xóa bộ nhớ cache, xóa bộ đệm DNS nội bộ, ipconfig flush dns và nó vẫn đang tải một trang web cục bộ từ tên miền trực tiếp. Nếu tôi mở nó trong "Ẩn danh" thì nó hoạt động hoặc trong Firefox, nó hoạt động, nhưng Chrome bình thường từ chối đặt lại DNS của nó
andrewtweber

9

Tôi biết đây là một câu hỏi cũ nhưng tôi cảm thấy khó chịu vì những lời phàn nàn như những người khác: ngay cả sau khi xóa bộ đệm, nó vẫn có thể mất một hoặc hai phút để các thay đổi DNS mới phát huy.

Có một vài cách xung quanh nó. Sau khi xóa bộ đệm DNS thông qua chrome: // net-internals / # dns (hoặc sử dụng tiện ích mở rộng đạt được kết quả tương tự):

  1. Mở một cửa sổ ẩn danh và ánh xạ DNS mới cho tên miền sẽ có hiệu lực ngay lập tức.

  2. Xóa bộ nhớ cache của trình duyệt. Điều này là cồng kềnh nếu bạn sử dụng trình duyệt của mình để duyệt thường xuyên. Bạn có thể chạy một phiên bản riêng của trình duyệt với tư cách là một người dùng khác và xóa bộ đệm trong tài khoản đó sẽ không can thiệp vào bộ đệm duyệt thông thường của bạn. Tôi đã không thử điều này nhưng nó sẽ hoạt động.

  3. Nhấn CTRL + F5. Tôi đã phải nhấn CTRL + F5 trong khoảng một giây để liên tục tải lại trang một vài lần. Đây là hành vi kỳ quặc nhưng nó hoạt động và cũng hiệu quả. Đây là cách tiếp cận ưa thích của tôi.

Lý tưởng nhất là có một plugin có thể lọc DNS và bộ đệm (cụ thể chỉ là bộ đệm tài liệu và không phải bộ đệm cookie) nhưng tôi chưa tìm thấy bất cứ thứ gì thuộc loại này.

CẬP NHẬT: Trên OSX, ứng dụng Gas Mask rất xuất sắc để chuyển đổi giữa các tệp máy chủ và cùng với cách giải quyết số 2, nó khá hiệu quả.


1
Làm mới sẽ không giúp một chút. Các socket TCP hoạt động vẫn sẽ hoạt động. Bạn có thể đợi nó ra (1-2 phút) hoặc xả chúng bằng tay .
Pacerier

6

Chrome_hosts_Flush_Util :

Đó là để giải quyết vấn đề Chrome không thể sử dụng đúng máy chủ sau khi sửa đổi tệp máy chủ do Chrome sử dụng nhóm ổ cắm.

Chrome duy trì các kết nối dài trong nhóm kết nối để tăng tốc. Khi Chrome nhận thấy rằng một yêu cầu có thể sử dụng lại một kết nối trong nhóm kết nối, nó sẽ không truy cập lại DNS, do đó, chúng tôi luôn nhận thấy rằng Chrome sẽ không phản hồi với thay đổi máy chủ ngay lập tức.

Chrome đã cung cấp giao diện để xóa nhóm kết nối trong thẻ chrome: // net-internals / # socket, nhưng tôi nghĩ thật khó chịu khi tôi phải chuyển đến tab trước và nhấp vào một nút nhỏ bằng bàn di chuột.

Tôi thấy rằng khi nhấp vào nút của nhóm ổ cắm, Chrome thực thi hai phương thức JavaScript chính.

g_browser.sendFlushSocketPools();
g_browser.checkForUpdatedInfo(false);

Vì vậy, tôi gói gọn hai phương thức này trong tập lệnh AppleScript có thể được chuyển đổi thành ứng dụng OS X hoặc luồng công việc Alfred mà cả hai có thể được gọi dễ dàng.


Xin chào Boreas320, bạn có thể cung cấp một bản tóm tắt về những gì liên kết của bạn cung cấp trong câu trả lời của bạn trong trường hợp nó trở nên lỗi thời? Câu trả lời chỉ / chủ yếu là một liên kết không được khuyến khích vì chúng có thể trở nên cũ kỹ.
bertieb

Lên! Ý tưởng tuyệt vời! Cảm ơn! Tuy nhiên, nó không hoạt động với tôi cho đến khi tôi thay thế javascript bằng document.getEuityById ('sockets-view-flush-button'). Click ();
i_a

5

Tôi đã cố gắng xóa bộ đệm DNS theo nhiều cách, nhưng không có gì hiệu quả với tôi. Cuối cùng, tôi đã lên kế hoạch thay đổi mục nhập DNS của mình . Thủ thuật này sẽ hoạt động cho tất cả những người truy cập Internet thông qua kết nối mạng LAN tốc độ cao.

Trên kết nối mạng LAN, người dùng thường được cung cấp hai địa chỉ DNS. Một là chính và một là địa chỉ DNS phụ hoặc thay thế. Những gì tôi đã làm là tôi chỉ thay đổi địa chỉ phụ thành địa chỉ chính và ngược lại. Nó làm việc cho tôi ngay lập tức.

Tôi giữ địa chỉ DNS thay thế làm địa chỉ chính trong hai ngày. Vấn đề đã tự giải quyết và sau đó, tôi đã khôi phục mục nhập DNS cũ.


5

Toàn bộ quá trình:

Tạo trang web trong IIS (windows 8), đặt tiêu đề máy chủ.

Đã thử nhấn máy chủ không có tệp máy chủ, đảm bảo sử dụng http: // để nó không chỉ thực hiện tìm kiếm google. Thất bại chính xác trong chrome "Phiên bản 32.0.1700.76 m"

Thêm máy chủ lưu trữ vào tệp lưu trữ dưới dạng 127.0.0.1, bây giờ có thể nhấn nó trong chrome.

Xóa khỏi tệp máy chủ và chạy ipconfig / flushdns, chrome vẫn hiển thị trang web!

Không làm gì khác ngoài CTRL + F5 và hiện tại trang web không thành công trong Chrome.

Với số lượng câu trả lời khác nhau ở đây, tôi tự hỏi nếu tất cả chúng ta có trường hợp sử dụng hơi khác nhau.


4

Đối với tôi, việc duyệt web riêng tư đã thực hiện thủ thuật (Cửa sổ ẩn danh mới / cửa sổ riêng tư).


Xin chào Bart, chào mừng bạn đến với Superuser! Thật không may, câu hỏi này là về phiên bản máy tính của Chrome, không phải phiên bản dành cho thiết bị di động. Tôi khuyên bạn nên chỉnh sửa câu trả lời của bạn để phản ánh phiên bản máy tính để bàn. Cảm ơn
Luke Canada

2

Hãy dùng thử DNS Flizer cho Chrome. Lưu ý rằng để sử dụng nó, nó yêu cầu cờ dòng lệnh, --enable-benchmarkingkhi bạn khởi động trình duyệt Chrome.


tiện ích mở rộng không còn tồn tại
jmgarnier

2

Điều hướng đến chrome: // net-internals / # dns và nhấn nút "Xóa bộ nhớ cache của máy chủ". như đã trả lời Ngoài ra, bạn có thể cần lệnh dscacheutil -flushcache trong OS X, để xóa bộ đệm DNS toàn hệ thống. ipconfig / flushdns trong dấu nhắc lệnh của windows


2

Trên Mac OS X, không có cách tiếp cận nào được đề cập ở trên có hiệu quả với tôi. Cách tiếp cận sau đây đã làm:

Nhấp vào menu Chrome> tùy chọn> nhấp vào liên kết show advanced settingsở cuối trang> clear browsing datanút nhấp trong privacyphần> chỉ chọn cached images and filesdownload history(có lẽ sau này không bắt buộc, nhưng cũng không bị tổn thương)> clear browsing datanút nhấp .


1

Đối với người dùng iPhone, các kỹ thuật này hoạt động hiệu quả không kém. Tôi đã phải thực hiện một số thử nghiệm của một trang web và tôi muốn ghi đè máy chủ DNS bình thường và sử dụng máy chủ DNS của riêng tôi với các mục DNS chưa được công khai.

Tôi ghi đè mục nhập DNS trong cài đặt wifi trên iPhone 6 Plus sang máy chủ DNS tùy chỉnh của mình. Điều đó là đủ tốt cho Safari và Trình duyệt hoàn hảo. Nhưng Chrome dường như bỏ qua điều đó và có bộ mục DNS riêng. Tôi KHÔNG thể tìm ra họ đến từ đâu.

Tôi đã làm những gì họ mô tả ở trên

  1. Điều hướng đến chrome: // net-internals / # dns và nhấp vào "Xóa bộ nhớ cache của máy chủ"
  2. Điều hướng đến chrome: // net-internals / # socket abd nhấp vào "Flush Socket Pools"

VÀ tôi cũng phải sử dụng Tab InCognito như đã đề cập ở trên.

Chỉ có THÌ Chrome mới sử dụng mục nhập DNS tùy chỉnh của tôi.

Licensed under cc by-sa 3.0 with attribution required.