簡體   English   中英

wget 連接在同一台服務器上超時

[英]wget connection timed out on same server

我有一個非常奇怪的問題。

服務器上有一個 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。

有誰知道可能是什么問題? 或者我該如何確定問題?

謝謝

如果問題仍未解決.. 您可以嘗試在調試模式下運行 wget 以查看是否獲得更多信息。

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

另外,確認解析的IP“11.22.33.44”是否屬於服務器網卡之一。

ip as (顯示ip地址)或

ifconfig -a

如果未列出 IP,則可能是 ip“11.22.33.44”是公司防火牆的公開地址。 並且固件將端口 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"會告訴你是網絡服務器你想要訪問的站點

注2:也許您必須將 IP: 127.0.0.1(本地主機地址)更改為服務器的 NIC 地址之一。

如果網站已啟動,請嘗試不同的命令。

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

嘗試添加 -H

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM