Flask: сервер перестает отвечать на запросы через некоторое время

3

Я использую фляжный сервер для обслуживания статических файлов с сервера, но время от времени сервер становится полностью невосприимчивым, загрузка файла продолжает загружаться, но не загружается. Когда я открыл терминал, я нашел некоторые странные запросы, я нажал CTRL + C, и сервер сразу снова стал отзывчивым, и загрузка продолжается. Это происходит каждый раз так часто, и я понятия не имею, что вызывает это и как предотвратить его замораживание моего фляжного сервера, это кто-то пытается взломать?

user@server:~/worker# python server.py
 * Running on http://0.0.0.0:80/
93.134.13.318 - - [03/Sep/2014 02:07:18] code 400, message Bad request syntax ('\x00')
93.134.13.318 - - [03/Sep/2014 02:07:18] "" 400 -
93.134.13.318 - - [03/Sep/2014 02:07:19] "GET http://httpheader.net HTTP/1.1" 404 -
93.134.13.318 - - [03/Sep/2014 02:07:40] code 400, message Bad request syntax ('\x04\x01\x00P\xc6\xce\x0eu0\x00')
93.174.93.218 - - [03/Sep/2014 02:07:40] "P��u0" 400 -
^C----------------------------------------
Exception happened during processing of request from ('93.174.93.218 ', 45082)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 638, in __init__
    self.handle()
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 200, in handle
    rv = BaseHTTPRequestHandler.handle(self)
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 231, in handle_one_request
    self.raw_requestline = self.rfile.readline()
  File "/usr/lib/python2.7/socket.py", line 447, in readline
    data = self._sock.recv(self._rbufsize)
KeyboardInterrupt
----------------------------------------
42.36.63.90 - - [03/Sep/2014 03:21:20] "GET / HTTP/1.1" 404 -
63.63.193.195 - - [03/Sep/2014 03:21:20] "GET / HTTP/1.1" 404 -
Теги:
flask

1 ответ

3

У меня была такая же проблема. Общеизвестно, что приложения django/flask работают под управлением python server.py, потому что это не оптимальная для них среда. Используйте его только для целей тестирования. Когда вы закончите с этим и хотите выпустить, вы должны поместить его за wsgi/uwsgi + apache/nginx, и ваша проблема исчезнет.

http://flask.pocoo.org/docs/0.10/deploying/uwsgi/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню