cURL 连接到本地主机(127.0.0.1)而不是目标 IP

cURL 连接到本地主机(127.0.0.1)而不是目标 IP

在 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。我在我的网络配置中看不到任何奇怪的东西。有人知道是什么原因造成的吗?

答案1

由于我们的 gerrit 服务器使用端口 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运行后台并将所有 8080 转发到本地主机。我通过卸载摆脱了它cisco anyconnect。现在一切正常。

答案2

所以问题在于 Mac 所处的网络中 NAT 配置不正确。

答案3

就我而言,这是由防病毒软件(kav特别是)引起的,它将所有 HTTP 请求都通过自身作为代理。关闭它后,问题就消失了。

相关内容