diff --git a/gunicorn/workers/gtornado.py b/gunicorn/workers/gtornado.py index 6728fcad..48f90378 100644 --- a/gunicorn/workers/gtornado.py +++ b/gunicorn/workers/gtornado.py @@ -3,6 +3,7 @@ # This file is part of gunicorn released under the MIT license. # See the NOTICE for more information. +import copy import os import sys @@ -102,8 +103,13 @@ class TornadoWorker(Worker): server_class = _HTTPServer if self.cfg.is_ssl: + _ssl_opt = copy.deepcopy(self.cfg.ssl_options) + # tornado refuses initialization if ssl_options contains following + # options + del _ssl_opt["do_handshake_on_connect"] + del _ssl_opt["suppress_ragged_eofs"] server = server_class(app, io_loop=self.ioloop, - ssl_options=self.cfg.ssl_options) + ssl_options=_ssl_opt) else: server = server_class(app, io_loop=self.ioloop)