我收到以下错误请求,状态代码为 200 (OK) 到以下路径:
[06/Feb/2013:07:41:38 +1100] "\x80w\x01\x03\x01" 200 550 "-" "-"
[05/Feb/2013:10:52:22 +1100] "\x80g\x01\x03\x01" 200 550 "-" "-"
Run Code Online (Sandbox Code Playgroud)
我现在收到垃圾邮件滥用。我的服务器被入侵了吗?
Ser*_*sov 14
日志中的这些字节序列看起来像 SSL 版本 2 客户端 hello 数据包的开头,是由某些 HTTPS 客户端连接到您的 Web 服务器期望纯 HTTP 而不是 HTTPS 的端口产生的。您的 Web 服务器尝试将 SSL 握手的开始解释为 HTTP 请求方法。
所以你在这里有两个问题:
Listen 443指令,但没有正确启用 HTTPS),或者只是在非标准端口上尝试 HTTPS 的哑机器人的端口扫描结果。或者这可能是由客户端错误配置引起的(例如https://example.com:80/可能会导致此类行为)。index.php(通常用于获取“干净的 URL”)和不检查$_SERVER['REQUEST_METHOD']这一点的脚本可能会导致您在此处看到的行为。如果发送这些请求的客户端由您控制,那么您会遇到第三个问题——这些客户端使用的是过时且不安全的 SSL v2 协议(他们宣传支持 SSL 3.1 版,实际上是 TLS 1.0,但会接受 SSL v2来自服务器的响应,因此由于缺少 SSL v2 中的握手完整性保护,它们很容易受到协议降级攻击)。