【问题标题】:Curl & Wget returning response, Browser times outCurl 和 Wget 返回响应,浏览器超时
【发布时间】:2012-07-11 07:12:27
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

  • 您可以尝试通过附加更多标头来进行进一步的测试,看看它何时失败。您可以使用在终端中运行 ncat --listen 8081 并同时将 firefox 导航到 http://localhost:8081 来获取 firefox 发送的默认标头。尝试将这些一个接一个地添加到 wget/curl 中,看看会发生什么。也可以试试w3mlinks 之类的终端浏览器。也许你也只是时机不好的受害者。
  • 你没有代理吗?检查环境 | grep 代理?也许它只在浏览器或终端中设置?

标签: linux browser timeout wget redhat


【解决方案1】:

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

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

wget http://example.com/

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2015-05-15
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 2019-05-23
    相关资源
    最近更新 更多