Nginx
Cron 守護程序 Wget 被阻止
我在沒有 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