diff --git a/ts/proxies/smart-proxy/route-connection-handler.ts b/ts/proxies/smart-proxy/route-connection-handler.ts index c08a0d4..557dd9a 100644 --- a/ts/proxies/smart-proxy/route-connection-handler.ts +++ b/ts/proxies/smart-proxy/route-connection-handler.ts @@ -301,22 +301,28 @@ export class RouteConnectionHandler { // Setup direct connection with default settings let targetHost: string; let targetPort: number; - + if (isRoutedOptions(this.settings) && this.settings.defaults?.target) { // Use defaults from routed configuration targetHost = this.settings.defaults.target.host; targetPort = this.settings.defaults.target.port; - } else { + } else if (this.settings.targetIP && this.settings.toPort) { // Fall back to legacy settings - targetHost = this.settings.targetIP || 'localhost'; + targetHost = this.settings.targetIP; targetPort = this.settings.toPort; + } else { + // No default target available, terminate the connection + console.log(`[${connectionId}] No default target configured. Closing connection.`); + socket.end(); + this.connectionManager.cleanupConnection(record, 'no_default_target'); + return; } - + return this.setupDirectConnection( - socket, - record, - undefined, - serverName, + socket, + record, + undefined, + serverName, initialChunk, undefined, targetHost,