Nee*_*eel 3 nginx wget cron http-status-code-403 debian-wheezy
我在没有 cpanel 的Debian 7上安装了nginx。
我正在像这样设置我的 Crontab:
*/45 * * * * wget "http://example.com/cron-url.php" >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
上面的 cron 被 403 forbidden 阻塞了:
--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.
Run Code Online (Sandbox Code Playgroud)
在这里搜索并谷歌搜索后,我了解到我的服务器可能正在阻止 wget。我查看了我的 nginx 配置文件,我认为应该是由于以下原因:
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 403;
}
Run Code Online (Sandbox Code Playgroud)
对于 cron 命令,我必须使用它的 url,并且脚本路径的绝对链接不起作用。现在,如果我需要允许 cron 工作而不被阻止,我该怎么办?我在想也许我需要从我自己的服务器上允许 wget,但不知道如何使用 nginx 来做到这一点。有人可以帮我解决这个 cron 问题吗?
wget从 nginx 配置中删除排除项,或者将类似的内容添加到您的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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |