/ etc / máy chủ sửa đổi không hoạt động đúng. Phải làm sao


10

Tôi đã thêm những dòng này vào tập tin máy chủ:

127.0.0.1 localhost adobe.com
127.0.0.1 adobe.com

Nó hoạt động hoàn hảo trên windows. Nhưng trong Ubuntu 11.10 khi tôi cố gắng truy cập nó bằng Firefox thì trang web đang mở.

Google chrome mặc dù hỗ trợ cấu hình / etc / hosts. Google chrome đang hiển thị:

"Nó hoạt động! Đây là trang web mặc định cho máy chủ này. Phần mềm máy chủ web đang chạy nhưng chưa có nội dung nào được thêm vào."

Câu trả lời:


10

Tôi có thể xác nhận vấn đề của bạn rằng nó dường như ảnh hưởng, giữa cả hai, Chrome và Firefox, chỉ Firefox. Đây là câu trả lời cho người dùng bị ảnh hưởng bởi cùng một vấn đề và nếu họ bị ảnh hưởng bởi cả hai / tất cả các trình duyệt. Thực hiện theo các bước này để làm việc này chính xác. Giả sử bạn đã chỉnh sửa /etc/hoststệp mà tôi đề xuất 2 cách sau để chỉnh sửa tệp:

  • Gedit - gksudo gedit /etc/hosts(Bây giờ bạn có cách chỉnh sửa tệp thân thiện với GUI. Gksu cung cấp gksudo bị ngừng trong kho chính thức 18.04 trở lên.)
  • nano - sudo nano /etc/hosts(Bây giờ bạn có cách chỉnh sửa tệp thân thiện với thiết bị đầu cuối.)

Và bạn có ví dụ:

127.0.0.1 localhost adobe.com

hoặc là

127.0.0.1 localhost
127.0.0.1 adobe.com

(Cả hai đều giống nhau.)

Trước tiên, bạn kiểm tra điều này để xem nó có hoạt động chính xác từ thiết bị đầu cuối không. Nhập ping adobe.comvà nó sẽ trả lời từ IP gán cho nó. Trong trường hợp này, nó sẽ đáp ứng với 127.0.0.1. Điều đó có nghĩa là nó ổn.

Sau đó, chúng tôi tiếp tục với các bài kiểm tra trình duyệt. Bạn đã thử nghiệm Chrome và nó đã hoạt động. Bạn đã thay đổi /etc/hostsgiữa việc có và không có mục nhập cho adobe.com và nó hoạt động mỗi khi bạn thay đổi. Nhưng sau đó bạn đã đi với Firefox, nó có thể đã hoạt động lần đầu tiên, nhưng sau khi thay đổi hoststệp qua lại, bằng cách nào đó nó ngừng hoạt động. Điều này có nghĩa là nó là một vấn đề bộ nhớ cache hoặc một vấn đề giải quyết tên chính xác.

Trong trường hợp Firefox và giải quyết tên, Firefox thêm tiền tố www vào trang web adobe để nó trông giống như "www.adobe.com" nhưng trên Chrome thì nó trông giống như "adobe.com". Cả hai đều chỉ đến cùng một địa điểm và tiền tố www chỉ ở đó để cho bạn biết rằng địa điểm bạn đang truy cập là một dịch vụ web. Nhưng trong trường hợp vấn đề của bạn, bạn sẽ cần thêm nó vào hoststệp để khi Firefox thêm tiền tố www, nó hoạt động. Vì vậy, nó sẽ trông như thế này:

127.0.0.1 localhost
127.0.0.1 adobe.com www.adobe.com

HOẶC giống nhau

127.0.0.1 localhost adobe.com www.adobe.com

LƯU Ý: Hãy nhớ rằng bạn F5phải nhấn để làm mới trang web / tab Firefox hoặc đóng tab và mở lại để kiểm tra. Bằng cách nào đó nhấn Enternhư điên sẽ không làm.

Điều này sẽ giải quyết vấn đề cho một số người dùng, nhưng giả sử đến giờ bạn vẫn chưa giải quyết được vấn đề, chúng tôi có thể kiểm tra xem nó có thể là gì.

Chúng tôi đã đến đây một vài cấp độ của bộ đệm để kiểm tra sau đó. Bạn đã có Bộ nhớ cache chương trình của mình, trong trường hợp này là Firefox, sau đó bạn có Bộ đệm hệ thống, trong trường hợp này là Ubuntu, và sau đó bạn có bộ đệm phần cứng, trong trường hợp này là bộ định tuyến của bạn.

Đối với những gì tôi biết, phiên bản Ubuntu Desktop không có dịch vụ bộ đệm DNS được cài đặt theo mặc định. Phổ biến nhất được biết đến là nscd và nếu bạn đã cài đặt đơn giản /etc/init.d/nscd restartsẽ làm. Nhưng đối với hầu hết mọi người, họ sẽ không cài đặt cái này, vì vậy chúng tôi có thể ghi đè lên lỗi của hệ thống Ubuntu.

Rời khỏi bộ định tuyến và trình duyệt web. Trong trường hợp bộ định tuyến, bạn sẽ phải cấu hình nó để dừng bộ đệm DNS hoặc cấu hình lại nó để giải quyết vấn đề này. Điều này hoàn toàn phụ thuộc vào kiểu máy, bộ định tuyến, v.v. Nhưng hãy giả sử rằng bạn không có bộ định tuyến kích hoạt bộ đệm DNS.

Điều này rời khỏi trình duyệt.

Để tìm hiểu xem Firefox có bị lỗi với DNS Cache hay không, bạn có thể cài đặt Bổ trợ để kiểm tra DNS Cache trong Firefox. cái tôi khuyên dùng là DNS Cache .

nhập mô tả hình ảnh ở đây

Sau khi khởi động lại Firefox, bạn sẽ thấy một răng cưa ở phía dưới (Tương tự như răng cưa Ubuntu ở góc trên bên phải). Bạn có thể nhấp chuột trái hoặc nhấp chuột phải vào Cog và bạn sẽ thấy các tùy chọn như Bật / Tắt DNS và xóa nó. Điều này sẽ giúp ích trong trường hợp sự cố là Bộ đệm DNS của Firefox. Chơi với nó.

Tôi nghĩ rằng tôi có tất cả các cách bạn có thể giải quyết điều đó. Nếu tôi bỏ lỡ điều gì, hãy cho tôi biết.


Nếu Firefox không tôn trọng hoststệp của máy cục bộ (nghĩa là, nếu sự cố vẫn xảy ra ngay cả sau khi tên miền có wwwtên miền phụ được thêm vào và ngay cả sau khi trang được làm mới), tôi khuyên bạn nên báo cáo đó là lỗi. (Tôi không chắc chắn những gì nó sẽ là một lỗi trong , vì Firefox có lẽ là sử dụng cơ sở vật chất phân giải DNS của hệ điều hành, mà làm , hoặc là phải, tôn trọng nó. Nhưng bạn có thể báo cáo chống lại firefoxtrong Ubuntu và sau đó xử lý sự cố hơn nữa có thể có khả năng nhắm mục tiêu lại từ đó.)
Eliah Kagan

@EliahKagan Nó cũng phụ thuộc vào vị trí và cách thức lưu trữ / tên miền. Một số trang web cung cấp tùy chọn cho phép sử dụng tên miền phụ www và một số trang web không được cấu hình sẵn nên khi một người cố truy cập www.eliah.com thì nó không hoạt động, nhưng eliah.com thì không.
Luis Alvarado

Phải, tất nhiên. Tôi không nói rằng www.foo.netnên làm việc chỉ vì foo.netlàm việc. Thay vào đó, nếu foo.netwww.foo.netđều được xác định để 127.0.0.1/etc/hosts, gõ foo.netvào thanh địa chỉ của trình duyệt web và nhấn enter nên kết quả trong trình duyệt cố gắng mở một kết nối đến 127.0.0.1:80. Nếu không, có một lỗi ở đâu đó.
Eliah Kagan

@EliahKagan - À! Vâng, vâng, tất nhiên. Trong trường hợp đó nếu nó không hoạt động thì máy tính bị quỷ ám. Chúng ta sẽ cần một người trừ quỷ và nhiều nước thánh hoặc chẩn đoán vấn đề tốt hơn.
Luis Alvarado

Exorcist + nước thánh chẩn đoán tốt hơn có vẻ như là khóa học khôn ngoan nhất. :)
Eliah Kagan

7

Tôi biết rằng chủ đề này là một năm tuổi, nhưng tôi tình cờ tìm thấy nó để tìm câu trả lời cho cùng một vấn đề. Cuối cùng tôi đã tìm thấy một giải pháp! Hóa ra /etc/hoststập tin đang bị DNS bỏ qua hoàn toàn. Để thay đổi điều này, bạn phải chỉnh sửa /etc/nsswitch.confvà bao gồm filesbên dưới hosts. Ví dụ dưới đây:

passwd:         compat
group:          compat
shadow:         compat

hosts:          dns files myhostname <-- this line here.
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Điều này sẽ đảm bảo rằng /etc/hoststập tin được bao gồm trong kiểm tra độ phân giải tên. Đầu tiên nó sẽ kiểm tra DNS và sau đó là hoststập tin. Tôi chắc chắn OP không còn cần thông tin này nữa, nhưng điều này vẫn tốt cho bất cứ ai tìm kiếm câu trả lời cho vấn đề này.

Bạn cũng phải khởi động lại để điều này có hiệu lực


Tôi có "tệp mdns4_minimal [NOTFOUND = return] dns mdns4" trong đó trên Ubuntu 12.04 nhưng / etc / hosts vẫn không hoạt động ... có vẻ như tôi đang gặp vấn đề khác.
Shnatsel

Bạn có thể dán mã đầy đủ?
Sam Chon

Đây là tệp cấu hình đầy đủ: pastebin.com/hDBGrrwn Tôi cho rằng đây là mặc định trên Ubuntu 12.04
Shnatsel

Mọi thứ có vẻ đúng. Bạn đang cố gắng làm gì vậy?
Sam Chon

Tôi không có: tôi phải thêm gì vào dòng này? /etc/hosts? hosts? Hay cái gì?
Hi-Angel

2

Tôi tin rằng etc/hostsđược sử dụng ở cấp độ người yêu nhiều trong ngăn xếp phần mềm mạng hơn chính trình duyệt. Tức là những thay đổi trong tập tin đó sẽ ảnh hưởng đến bất kỳ trình duyệt nào.

Những gì bạn thấy có thể là kết quả của các mục DNS bộ nhớ cache của Firefox - tức là bạn đã mở trang web trong Firefox, Firefox nhớ địa chỉ IP tương ứng với tên miền adobe.com, bạn đã sửa đổi /etc/hostsvà tải lại trang - Firefox không đưa ra truy vấn DNS mới và sử dụng dữ liệu được lưu trữ thay thế. Sau đó, bạn mở Chrome, nó tạo một truy vấn DNS mới và sử dụng mọi thứ bạn đã nhập /etc/hostslàm địa chỉ IP cho adobe.com

Khởi động lại Firefox sẽ khắc phục sự cố.


2

Tất cả các câu trả lời là tuyệt vời, nhưng cách ngắn nhất để sửa nó là:

sau khi sửa đổi / etc / hosts (và có thể khởi động lại Firefox), hãy tải lại tab có vấn đề với Ctrl+Shift+R. Nó sẽ bỏ qua mọi loại bộ đệm mà Firefox có thể có.


1

Vấn đề của tôi là, tôi đã có nhiều mục cho cùng một Tên miền. Hệ thống chỉ thấy sự xuất hiện đầu tiên.

127.0.0.1 domain1.com domain2.com domain3.com # <-- WENT UNNOTICED
# .
# .
192.168.1.21 domain1.com # <-- DOESN'T WORK

0

Bạn có thể thử:

  1. Chỉnh sửa tập tin / etc / hosts.
  2. Thêm dòng tiếp theo

     # /etc/hosts
     127.0.0.1  localhost
     127.0.1.1  myhost01
     127.0.1.2  myhost02
    

0

trong tệp Ubuntu 14.04 thay đổi / etc / hosts chỉ có một máy chủ trên mỗi dòng hoạt động với tôi, tôi đã vật lộn hàng giờ để làm việc với máy chủ lưu trữ IP, hơn là thay đổi thành máy chủ IP trên mỗi dòng và nó hoạt động>. <


0

Tôi gặp vấn đề tương tự trên các phiên bản khác nhau của Ubuntu. Người mới nhất nuôi cái đầu xấu xí của nó vào ngày 17.04 và 16.04. Tôi thấy rằng tôi phải định dạng tệp máy chủ như thế này:

127.0.0.1 localhost

127.0.0.1 www.facebook.com facebook.com

tức là bạn cần phải nhập url cả www và sau đó lại không có. Tôi không biết tại sao điều này hoạt động. Chỉ cần lưu tệp và sau đó ping url như trong:

ping www.facebook.com

và nó sẽ phân giải thành địa chỉ loopback hoặc bất kỳ địa chỉ nào bạn muốn.eg:

80.82.xxx.xxx www.example.com example.com

Đã làm cho tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.