Я использую веб-сервер Tornado, который принимает только 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?
Попробуйте зайти на свой сайт с помощью проверки SSL-сервера на ssllabs.com. Похоже, что что-то в некоторых клиентах SSL заставляет их прервать рукопожатие. Это могут быть различные сканеры или некоторые клиенты отклоняют что-то в вашем SSL-соединении и разрывают его. Многие клиенты будут повторять попытку подключения с пониженной версией, поэтому сайт не дает сбоев.
Предупреждение "OPTIONS", вероятно, не связано.