nginx on Debian 7 cpanelなしです。
私は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.
ここを検索してグーグルした後、サーバーがおそらく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