wget连接在同一台服务器上超时

时间:2016-07-18 04:33:04

标签: linux networking server wget centos7

我有一个非常奇怪的问题。

服务器上有一个cron作业,每天运行一个脚本:

wget -O /dev/null --timeout=300 --tries=1 "http://website.com/script"

大约两周前,这一切都运作良好,我开始收到错误:

--2016-07-13 09:45:01--  http://website.com/script
Resolving website.com (website.com)... 11.22.33.44
Connecting to website.com (website.com)|11.22.33.44|:80... failed: Connection timed out.
Giving up.

以下是这个问题的一些信息:

  1. cron作业位于http://website.com托管的同一台服务器上。
  2. 我可以从桌面上的浏览器正确访问脚本(http://website.com/script)。
  3. 服务器是CentOS 7,安装了WHM和cPanel。
  4. 任何人都知道可能是什么问题?或者我如何确定问题?

    谢谢

3 个答案:

答案 0 :(得分:1)

如果问题仍未解决。 您可以尝试在调试模式下运行wget来查看是否有更多信息。

wget -dv -O /dev/null --timeout=300 --tries=1 "http://website.com/script" 

此外,请确认解析的IP“ 11.22.33.44”是否属于服务器NIC之一。

ip a s(显示IP地址)或

ifconfig -a

如果未列出IP,则可能是IP“ 11.22.33.44”是公司防火墙的面向公众的地址。并且FW会将端口80上的请求从外部/互联网(浏览器所在的位置)定向到该特定服务器。并且可以将Firewall / Nat / Proxy配置为不允许来自网络内部,到达防火墙的外部IP并重新进入的请求。

在这种情况下,您可以尝试使用内部ip地址更改您的wget,例如:(仍然使用-dv进行调试,之后删除)

wget -dv -O /dev/null --timeout=300 --tries=1 --header="Host: website.com" http://127.0.0.1/script

注意1:--header="Host: website.com"会告诉您Web服务器您想要访问的网站

注2:也许您必须将IP:127.0.0.1(本地主机地址)更改为服务器的NIC地址之一。

答案 1 :(得分:0)

如果网站已启动,请尝试其他命令。

*/10 * * * * /usr/bin/wget -q -O temp.txt http://website.com/script

答案 2 :(得分:0)

尝试添加-H

wget -H -O /dev/null --timeout=300 --tries=1 "http://website.com/script"