找出用于TypeORM的本地端口

问题描述 投票:0回答:1

我正在尝试创建SSH隧道来访问VPC中的MySQL DB(Aurora无服务器变体),并且或多或少地遵循了与here所述类似的方法。我已经设置了一个Jumpbox(一个EC2实例),我可以对其进行ssh调试。但是,我正在努力使本地端口转发正常工作,因为我似乎无法弄清楚命令使用的是哪个本地端口。我正在使用的SSH命令与此类似:

ssh -N -L ssh_localPort:rdsHost:rds_remotePort user@remoteHost -i ~/path/to/key

我使用typeORM通过以下格式的命令创建和运行数据库迁移脚本:

ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js migration:run -c database_name

该数据库的配置如下所示:

{
    "name": "database_name",
    "type": "mysql",
    "host": "host_name",
    "port": 3306,
    "username": "user",
    "password": "password",
    "database": "database_name",
    "entities": ["models/database_name/*.*"],
    "migrationsTableName": "migration",
    "migrations": ["migration/database_name/*.ts"],
    "cli": {
        "migrationsDir": "migration/database_name"
    }
}

我感觉除了本地端口外,我拥有所有其他部件。 TypeOrm设置用于与数据库通信的端口,因此我假设可以通过ts-node显式设置端口,但是找不到允许该选项的选项。

有人对如何检索本地端口或显式设置本地端口有任何建议吗?

amazon-web-services typeorm ssh-tunnel
1个回答
0
投票

[我在进行这项工作时有点沉迷,不认识两件事:

  1. 来自本地主机的流量将转发到指定端口上的跳转框
  2. 本地端口在数据库配置文件中设置

我将配置文件更新为以下内容:

{
    ...
    "host": "localhost",
    "port": ssh_local_port,
    "username": "rds_user",
    "password": "rds_password",
    ...
}

这足以让我远程连接!

© www.soinside.com 2019 - 2024. All rights reserved.