Làm cách nào để tôi nhận được 0.0.0.0 để giải quyết với localhost khi duyệt một url chứa 0.0.0.0?


5

Thực hiện một số phát triển nút trên windows. Các chương trình nút muốn loại bỏ các URL trông như thế nào http://0.0.0.0:8080. Trong Linux (iirc) dán url đó vào trình duyệt sẽ thành công. Nhưng trong Windows, đó là 404. Tôi nghĩ tôi chỉ có thể thêm:

0.0.0.0 localhost

vào hoststập tin của tôi nhưng điều đó dường như không hoạt động. Ví dụ, tôi có một trình sửa lỗi chạy trên http://localhost:8080/debug?port=5858. Hoạt động tốt. Nhưng khi tôi thêm dòng trên vào tệp máy chủ của mình và cố gắng truy cập, http://0.0.0.0:8080/debug?port=5858tôi nhận được:

Error 108 (net::ERR_ADDRESS_INVALID): Unknown error.

Thanh tra nút là một ví dụ tốt:

$ node-inspector                                                      
   info  - socket.io started                                          
visit http://0.0.0.0:8080/debug?port=5858 to start debugging  

Tôi chỉ cần chỉnh sửa thủ công IP đó bằng với localhost khi sao chép / dán? Hay đây là một sự khác biệt kỳ lạ giữa Linux và Windows?

Làm cách nào để có 0.0.0.0được tương đương với localhostkhi duyệt url trong Windows 7? Chrome là trình duyệt 'mặc định' của tôi.


tham khảo rfc1122 để biết chi tiết về câu hỏi của bạn: tools.ietf.org/html/rfc1122
Lorenzo Von Matterhorn

1
"nhiều chương trình nút mong đợi 0.0.0.0 bằng với 127.0.0.1" ... Cái gì? Đây ... tôi không có lời.
Ignacio Vazquez-Abrams


2
Liên kết đến 0.0.0.0 cho phép các kết nối đến từ bất kỳ giao diện nào ; làm cho nó localhost chỉ sẽ phá vỡ rất nhiều.
Ignacio Vazquez-Abrams

2
Tại sao không nói với nút-Inspector et alia liên kết với 127.0.0.1 thay vào đó?
Ignacio Vazquez-Abrams

Câu trả lời:


4

Vì vậy, những gì đang xảy ra ở đây là nút liên kết với 0.0.0.0- Netspeak cho "Tất cả giao diện". Điều này bao gồm localhost, bất kỳ giao diện thực nào bạn có và bất kỳ giao diện ảo nào bạn có. Nó thường không chỉ đến một giao diện riêng lẻ. (Về mặt kỹ thuật, nó trỏ đến "Máy chủ này trên mạng này", nhưng điều đó không rõ ràng nhất vì "mạng này" không được xác định. Vì vậy, 0.0.0.0thường được hiểu là điểm đại diện cho IP của máy tính cục bộ trên mỗi mạng)

Bạn có cần chỉnh sửa thủ công IP đó khi sao chép / dán không? Đúng. Nếu Linux hoặc một trình duyệt cụ thể trên linux xảy ra để âm thầm sửa nó thành 127.0.0.1... tuyệt vời. Nhưng như bạn đã tìm ra, đó không phải là một thứ phổ quát.


Blech, tôi đã tìm ra câu trả lời là "đó chỉ là cửa sổ" nhưng hy vọng sẽ tốt hơn.
jcollum

http://0.0.0.0:8080/debug?port=5858chuyển đổi thành http://localhost:8080/debug?port=5858sẽ hoạt động sau đó ...
Phòng thí nghiệm Fiasco

Nó sẽ, nhưng nó là một nỗi đau để làm điều đó mọi lúc mọi nơi.
Cướp

FiascoLabs Nếu bạn đọc câu hỏi ban đầu, nó sẽ làm. @jcollum Tôi thực sự sẽ sử dụng tình cảm tương tự đối với linux ở đây - Nó hỗ trợ các mục tiêu mơ hồ, mơ hồ chỉ phục vụ để hạn chế khả năng tương tác và tôi sẽ đổ lỗi cho node.js vì đã không dọn sạch URL trước khi in ra.
Darth Android

Xem KB970313 "Cổng mặc định có thể đã được đặt thành 0.0.0.0 trên hệ điều hành Windows Vista hoặc hệ điều hành mới hơn chạy dịch vụ Bonjour của Apple" support.microsoft.com/en-us/kb/970313
Jeff Lewis
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.