cURL підключення до localhost (127.0.0.1) замість пункту призначення IP


1

У Mac OS XI є проблема, коли дзвонити:

curl -v www.google.com

призводить до:

* Rebuilt URL to: www.google.com/
*   Trying 62.253.72.153...
* Connected to www.google.com (127.0.0.1) port 80 (#0)
> GET / HTTP/1.1
> Host: www.google.com
> User-Agent: curl/7.43.0
> Accept: */*
> 
* HTTP 1.0, assume close after body
< HTTP/1.0 504 Gateway Timeout
< 
Gateway Timeout: can't connect to remote host
* Closing connection 0

Третій рядок є дивним, оскільки www.google.com не повинен бути 127.0.0.1, а повинен бути 62.253.72.153. Я не бачу нічого дивного в моїй конфігурації мережі. Хтось знає, що може спричинити це?


У вашому файлі хостів може бути щось приємне, або запис у локальному DNS (або dns, що використовується у резолюції.conf) для google.com
Kraang Prime

Гей, дякую за ваш коментар. Файл хостів виглядає чудово. Я думаю: 127.0.0.1 localhost 255.255.255.255 Broadcast: 1 localhost, те ж саме для файлу

Це здається прекрасним. Тоді питання повинно бути у вирішальній. Спробуйте nslookup www.google.com і подивіться, який сервер імен він використовує.
Прем'єр-міністр Краанг

nslookup www.google.com Сервер: 13.10.150 Адреса: 10.5.13.150 # 53 Неавторитетна відповідь: Ім'я: www.google.com Адреса: 62.253.72.152 Ім'я: www.google.com Адреса: 62.253.72.157 Ім'я: www .google.com Адреса: 62.253.72.173 Ім'я: www.google.com Адреса: 62.253.72.177 Ім'я: www.google.com Адреса: 62.253.72.187 Ім'я: www.google.com Адреса: 62.253.72.183 і так далі :)

Перше питання має бути - чи навмисно / свідомо ви запускаєте веб-сервер у порту 80?
піт

Відповіді:


1

Я працював над цією проблемою протягом 1 дня, оскільки наш сервер гертів використовує порт 8080. Нарешті я зрозумів це. Сподіваюсь, це може допомогти.

крок 1.

nc -v -w 2 code.estrongs.com 8080
found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
    outif lo0
    src 127.0.0.1 port 52590
    dst 127.0.0.1 port 5001
    rank info not available
    TCP aux info available

Connection to code.estrongs.com port 8080 [tcp/http-alt] succeeded!

якщо ваш вихід схожий на вище, то з’ясуйте, який процес виконує речі на порту 5001

крок 2.

nettop -nm tcp

уважно переглядає, який процес передається 5001 (результат, знайдений кроком1).

У моєму випадку acwebsecagentпрацює backgroud та пересилає всі 8080 на localhost. Я позбувся цього шляхом видалення cisco anyconnect. Зараз все йде нормально.


0

Отже, проблема полягала в тому, що Mac знаходився в мережі, де NAT була налаштована неправильно.


3
Дякуємо, що закрили цикл у вашому запитанні. Було б корисно іншим із подібною проблемою, якби ви могли трохи детальніше розглянути це.
fixer1234

0

У моєму випадку це було викликано антивірусом ( kavзокрема), який передавав усі HTTP-запити через себе як проксі. Після вимкнення проблеми проблема пішла.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.