Verify if certfile and keyfile are paths to actual files
This allow to try to not use ssl if the key file path or the certificate file are broken. The files might be missing because the user intentionally removed them but didn't update the settings first. In that situation, this change won't make the app crash, the warning is logged and that way the user has the chance to update the settings.
This commit is contained in:
parent
399dffba5a
commit
af216e3697
1 changed files with 16 additions and 6 deletions
|
@ -32,9 +32,14 @@ class server:
|
|||
def start_gevent(self):
|
||||
try:
|
||||
ssl_args = dict()
|
||||
if web.ub.config.get_config_certfile() and web.ub.config.get_config_keyfile():
|
||||
ssl_args = {"certfile": web.ub.config.get_config_certfile(),
|
||||
"keyfile": web.ub.config.get_config_keyfile()}
|
||||
certfile_path = web.ub.config.get_config_certfile()
|
||||
keyfile_path = web.ub.config.get_config_keyfile()
|
||||
if certfile_path and keyfile_path:
|
||||
if os.path.isfile(certfile_path) and os.path.isfile(keyfile_path):
|
||||
ssl_args = {"certfile": certfile_path,
|
||||
"keyfile": keyfile_path}
|
||||
else:
|
||||
web.app.logger.info('The specified paths for the ssl certificate file and/or key file seem to be broken. Ignoring ssl. Cert path: %s | Key path: %s' % (certfile_path, keyfile_path))
|
||||
if os.name == 'nt':
|
||||
self.wsgiserver= WSGIServer(('0.0.0.0', web.ub.config.config_port), web.app, spawn=Pool(), **ssl_args)
|
||||
else:
|
||||
|
@ -61,9 +66,14 @@ class server:
|
|||
else:
|
||||
try:
|
||||
web.app.logger.info('Starting Tornado server')
|
||||
if web.ub.config.get_config_certfile() and web.ub.config.get_config_keyfile():
|
||||
ssl={"certfile": web.ub.config.get_config_certfile(),
|
||||
"keyfile": web.ub.config.get_config_keyfile()}
|
||||
certfile_path = web.ub.config.get_config_certfile()
|
||||
keyfile_path = web.ub.config.get_config_keyfile()
|
||||
if certfile_path and keyfile_path:
|
||||
if os.path.isfile(certfile_path) and os.path.isfile(keyfile_path):
|
||||
ssl_args = {"certfile": certfile_path,
|
||||
"keyfile": keyfile_path}
|
||||
else:
|
||||
web.app.logger.info('The specified paths for the ssl certificate file and/or key file seem to be broken. Ignoring ssl. Cert path: %s | Key path: %s' % (certfile_path, keyfile_path))
|
||||
else:
|
||||
ssl=None
|
||||
# Max Buffersize set to 200MB
|
||||
|
|
Loading…
Reference in a new issue