我有一个非常奇怪的问题。
服务器上有一个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.
以下是这个问题的一些信息:
任何人都知道可能是什么问题?或者我如何确定问题?
谢谢
答案 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"