diff --git a/apps/jumpserver/conf.py b/apps/jumpserver/conf.py index 7edc28610..d7e4aee14 100644 --- a/apps/jumpserver/conf.py +++ b/apps/jumpserver/conf.py @@ -485,8 +485,7 @@ class Config(dict): 'SECURITY_DATA_CRYPTO_ALGO': None, 'GMSSL_ENABLED': False, # Magnus 组件需要监听的端口范围 - 'MAGNUS_DB_PORTS_START': 30000, - 'MAGNUS_DB_PORTS_LIMIT_COUNT': 1000, + 'MAGNUS_PORTS': '30000-30100', # 记录清理清理 'LOGIN_LOG_KEEP_DAYS': 200, diff --git a/apps/jumpserver/settings/custom.py b/apps/jumpserver/settings/custom.py index caa712ab3..4e9676379 100644 --- a/apps/jumpserver/settings/custom.py +++ b/apps/jumpserver/settings/custom.py @@ -179,5 +179,4 @@ SESSION_RSA_PRIVATE_KEY_NAME = 'jms_private_key' SESSION_RSA_PUBLIC_KEY_NAME = 'jms_public_key' # Magnus DB Port -MAGNUS_DB_PORTS_START = CONFIG.MAGNUS_DB_PORTS_START -MAGNUS_DB_PORTS_LIMIT_COUNT = CONFIG.MAGNUS_DB_PORTS_LIMIT_COUNT +MAGNUS_PORTS = CONFIG.MAGNUS_PORTS diff --git a/apps/terminal/signal_handlers.py b/apps/terminal/signal_handlers.py index 942e9972a..537d90bce 100644 --- a/apps/terminal/signal_handlers.py +++ b/apps/terminal/signal_handlers.py @@ -21,7 +21,7 @@ def init_db_port_mapper(sender, **kwargs): try: db_port_manager.init() except (ProgrammingError,) as e: - logger.error('Init db port mapper error: {}'.format(e)) + pass @receiver(post_save, sender=Application) diff --git a/apps/terminal/utils/db_port_mapper.py b/apps/terminal/utils/db_port_mapper.py index ab52aa2a3..b1485ec08 100644 --- a/apps/terminal/utils/db_port_mapper.py +++ b/apps/terminal/utils/db_port_mapper.py @@ -20,15 +20,20 @@ class DBPortManager(object): CACHE_KEY = 'PORT_DB_MAPPER' def __init__(self): - self.port_start = settings.MAGNUS_DB_PORTS_START - self.port_limit = settings.MAGNUS_DB_PORTS_LIMIT_COUNT - self.port_end = self.port_start + self.port_limit + try: + port_start, port_end = settings.MAGNUS_PORTS.split('-') + port_start, port_end = int(port_start), int(port_end) + except Exception as e: + logger.error('MAGNUS_PORTS config error: {}'.format(e)) + port_start, port_end = 30000, 30100 + + self.port_start, self.port_end = port_start, port_end # 可以使用的端口列表 - self.all_available_ports = list(range(self.port_start, self.port_end)) + self.all_available_ports = list(range(self.port_start, self.port_end + 1)) @property def magnus_listen_port_range(self): - return f'{self.port_start}-{self.port_end - 1}' + return settings.MAGNUS_PORTS def init(self): with tmp_to_root_org():