我在 crontab 中有这个命令:
wget --quiet --delete-after http://boms.ro/admincp/cron/s/9abf0f42c1e4f55fdb87d8237cdde
当我使用 --debug 参数运行它时,我得到以下响应:
Caching boms.ro => 188.240.2.30
Created socket 3.
Releasing 0x00000000010c97e0 (new refcount 1).
---request begin---
GET /admincp/cron/s/9abf0f42c1e4f55fdb87d8237cdde HTTP/1.0
User-Agent: Wget/1.12 (linux-gnu)
Accept: */*
Host: boms.ro
Connection: Keep-Alive
---request end---
---response begin---
HTTP/1.0 406 Not Acceptable
Date: Thu, 12 Apr 2012 18:29:45 GMT
Server: LiteSpeed
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
Cache-Control: private, no-cache, max-age=0
Pragma: no-cache
Content-Type: text/html
Content-Length: 372
---response end---
Registered socket 3 for persistent reuse.
Skipping 372 bytes of body: [<html>
<head><title> 406 Not Acceptable
</title></head>
<body><h1> 406 Not Acceptable
</h1>
This request is not acceptable<hr />
Powered By <a href='http://www.litespeedtech.com'>LiteSpeed Web Server</a><br />
<font face="Verdana, Arial, Helvetica" size=-1>LiteSpeed Technologies is not responsible for administration and contents of this web site!</font></body></html>
] done.
我的请求中哪些内容被视为“不可接受”?
答案1
我看到一些参考资料,表明mod_security
“LiteSpeed”服务器包中包含的(可能是错误的包含规则?)可能是原因。
尝试禁用mod_security
- 顺便说一句,406
如果是这样的话,这是响应代码的一个相当弱的用法。
答案2
406 Not Acceptable 的含义是您的客户端(在本例中为 wget 或代理)发送了 Accept: 标头,但服务器无法以其收到的 Accept: 标头中列出的格式发送文档。Accept-* 标头也会导致相同的行为。
因为您的接受标头设置为接受任何 MIME 类型并且不包括对特定语言或任何内容的请求,所以这可能是 http 服务器(或其正在运行的 CGI 应用程序)中的一个错误。