6

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

wget --header="Host: example.com" http://x.x.x.x:80/
curl -i -H"Host: example.com" http://x.x.x.x:80/

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

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

谢谢

4

1 回答 1

-1

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

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

wget http://example.com/

这将在您的浏览器中使用wget.

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

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

您也可以反向尝试测试;找到一些浏览器插件,可以让您指定/更改任意标题,或者明确允许您将主机名与 URL 分开设置,然后http://x.x.x.x:80/像使用 wget/curl 一样转到。

于 2014-02-24T22:11:26.313 回答