Curl&Wget返回响应,浏览器超时

Jon*_*yes 5 browser linux redhat timeout wget

我正在将请求发送到云上的特定服务器:

wget --header="Host: example.com" http://x.x.x.x:80/
curl -i -H"Host: example.com" http://x.x.x.x:80/
Run Code Online (Sandbox Code Playgroud)

并且它完全按预期返回(一个简单的静态文件)。但是,当我尝试在浏览器中访问它时,请求超时。我无法想象这将是一个用户代理标头问题,但是话又说回来,我真的不知道还会是什么。

它不会去负载均衡器或任何东西,应该直接去站点。为什么会发生这种情况的任何想法?我将主机文件设置为转到该特定IP地址。

谢谢

Ada*_*atz -1

看起来您在 wget/curl 中指定了 IP 地址,但在浏览器中指定了主机名。这会在测试中产生额外的变量,并且我们无法对结果进行故障排除。(你需要更好地控制测试。)

尝试在命令行上复制浏览器逻辑:

wget http://example.com/
Run Code Online (Sandbox Code Playgroud)

这将执行与您在浏览器中使用的相同的测试wget

如果它有效,则您的浏览器(或者可能是从操作系统继承的任何代理设置)存在配置问题。

如果它不起作用,您的主机文件可能有问题。

您也可以尝试反向测试;找到一些浏览器插件,可以让您指定/更改任意标头,或者明确让您独立于 URL 设置主机名,然后http://x.x.x.x:80/像使用 wget/curl 一样进行操作。