【发布时间】:2020-06-08 11:01:01
【问题描述】:
启用ssl在连接数据库的过程中引入了什么?我知道握手会引入负载,但加密不会。我在使用 sqlalchemy 中的 create_engine 连接到数据库时使用以下代码启用 ssl:
uri = "{0}://{1}@{2}:{3}/{4}".format(db_creds.get('scheme'),
self._get_auth_str(db_creds.get('username'),
db_creds.get('password')),
db_creds.get('hostname'),
str(db_creds.get('port')),
db_creds.get('name'))
ssl_args = {}
if self.config['ssloption'].lower() == 'true':
# connecting securely
if db == 'mysql':
self.config['ssloption'] = 'required'
ssl_args = {
'ssl': {
'sslmode': str(self.config['ssloption'])
}
}
if db == 'warehouse':
self.config['ssloption'] = 'require'
ssl_args = {
"sslmode": str(self.config['ssloption'])
}
self._connections[db] = create_engine(uri, connect_args=ssl_args, encoding='utf8')
else:
# not connecting securely
self._connections[db] = create_engine(uri, encoding='utf8')
【问题讨论】:
标签: python mysql postgresql sqlalchemy mariadb