使用错误的协议访问网站?

使用错误的协议访问网站?

我正在运行一个 Tornado Web 服务器,它只接受 SSL 连接,并且只监听端口 443。通过 HTTPS 在浏览器中连接它可以正常工作。

我在日志中看到如下消息:

ERROR [tornado.general] Uncaught exception
[...]
  File "/usr/lib/python3.4/ssl.py", line 828, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:600)
WARNI [tornado.access] 405 OPTIONS / (<some IP>) 0.57ms

我不确定警告是否与错误有关(我需要在日志中添加时间戳)。请求来得不快,这让我认为这不是攻击;另一方面,它们来自世界各地,这是一个很多人不应该知道的网站。

如果我自己尝试,http://my-site:443我会得到同样的异常,没有警告,加上一行:

WARNI [tornado.general] SSL Error on 18 ('<my IP>', <port>): [SSL: HTTP_REQUEST] http request (_ssl.c:600)

是否使用了错误的协议来连接 HTTPS 端口?

答案1

尝试使用 SSL 服务器检查器访问您的网站ssllabs.com。似乎某些 SSL 客户端的某些问题导致它们中止握手。这可能是各种扫描仪的问题,也可能是某些客户端拒绝了有关您的 SSL 连接的某些内容并将其丢弃。许多客户端将使用降级的连接重试,这就是网站没有失败的原因。

“OPTIONS”警告可能无关。

相关内容