як мені отримати 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.