як мені отримати 0,0.0.0 для вирішення проблеми localhost під час перегляду URL-адреси, що містить 0.0.0.0?


5

Робити якусь розробку вузлів на Windows. Вузольні програми люблять висувати такі URL-адреси http://0.0.0.0:8080. В Linux (iirc) вставлення цього URL-адреси у браузер буде успішним. Але в Windows це 404. Я думав, що просто зможу додати:

0.0.0.0 localhost

до мого hostsфайлу, але це, здається, не працює. Наприклад, у мене працює відладчик http://localhost:8080/debug?port=5858. Добре працює. Але коли я додаю вищезазначений рядок до файлу хостів і намагаюся отримати доступ, http://0.0.0.0:8080/debug?port=5858я отримую:

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

Вузол-інспектор - хороший приклад:

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

Мені просто потрібно вручну редагувати цей IP, щоб він був рівним localhost при копіюванні / вставці? Або це дивна різниця між Linux та Windows?

Як я можу 0.0.0.0бути еквівалентним під localhostчас перегляду URL-адрес у Windows 7? Chrome - мій "за замовчуванням" браузер.


Зверніться до rfc1122, щоб отримати детальну інформацію про ваше запитання: tools.ietf.org/html/rfc1122
Лоренцо Фон Маттерхорн

1
"у багатьох програмах вузлів очікується, що 0,0.0.0 буде дорівнює 127.0.0.1" ... Що? Це ... у мене немає слів.
Ігнасіо Васкес-Абрамс


2
Прив’язка до 0,0.0,0 дозволяє входити з будь-якого інтерфейсу; зробити так, що локальний хост лише так зламається.
Ігнасіо Васкес-Абрамс

2
Чому б не сказати node-inspector et alia прив’язати до 127.0.0.1 замість цього?
Ігнасіо Васкес-Абрамс

Відповіді:


4

Отже, що тут відбувається, це те, що вузол обов'язковий 0.0.0.0- netspeak для "Всі інтерфейси". Сюди входить localhost, будь-який реальний інтерфейс у вас та будь-який віртуальний інтерфейс у вас. Це саме по собі взагалі не вказує на індивідуальний інтерфейс. (Технічно це вказує на "Цей хост у цій мережі", але це в кращому випадку неоднозначно, оскільки "ця мережа" не визначена. Тому 0.0.0.0зазвичай розуміється як точка, що представляє IP локального комп'ютера в кожній мережі)

Чи потрібно вручну редагувати цей IP під час копіювання / вставки? Так. Якщо Linux або певний браузер на Linux трапляється, щоб мовчки виправити його на 127.0.0.1... приголомшливе. Але, як ви з’ясували, це не універсальна річ.


Blech, я зрозумів, що відповідь - це просто вікна, але сподівався на краще.
jcollum

http://0.0.0.0:8080/debug?port=5858перетворений на http://localhost:8080/debug?port=5858роботу буде тоді ...
Лабораторії Фіаско

Буде, але боляче робити це всюди щоразу.
Роб

FiascoLabs Якщо ви читаєте оригінальне запитання, це і є. @jcollum я б фактично використовував ті самі настрої щодо Linux, тут - це підтримка неясних, неоднозначних випадків використання, які служать лише для обмеження сумісності, і я б ще більше звинувачував node.js у тому, що він не очистив URL-адресу перед тим, як роздрукувати його.
Darth Android

Див. KB970313 "Шлюз за замовчуванням, можливо, встановлено на 0,0.0,0 на ОС Windows Vista або пізнішої ОС, що працює на сервісі Apple Bonjour" support.microsoft.com/en-us/kb/970313
Jeff Lewis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.