Nginx

Cron 守護程序 Wget 被阻止

  • February 8, 2016

我在沒有 cpanel的Debian 7上安裝了nginx 。

我正在像這樣設置我的 Crontab:

*/45 * * * * wget "http://example.com/cron-url.php" >/dev/null 2>&1

上面的 cron 被 403 禁止:

--2014-12-10 05:40:01--  http://example.com/cron-url.php
Connecting to xyz.xx.xx.xxx:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2014-12-10 05:40:01 ERROR 403: Forbidden.

在這裡搜尋和Google搜尋後,我知道我的伺服器可能阻止了 wget。我查看了我的 nginx 配置文件,我認為這應該是由於:

if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
   return 403;
}

對於 cron 命令,我必須使用它的 url,並且腳本路徑的絕對連結不起作用。現在,如果我需要讓 cron 工作而不被阻塞,我該怎麼辦?我在想也許我需要允許來自我自己的伺服器的 wget,但不知道如何用 nginx 做到這一點。有人可以幫我解決這個 cron 問題嗎?

從 nginx 配置中刪除wget排除項,或者在命令中添加類似這樣的選項wget

--user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101  Firefox/21.0" --referrer whatever.example.com

引用自:https://serverfault.com/questions/650369