Skip to content

通过 SSH 隧道连接服务器依赖 ​

背景 ​

MySQL、Redis 和 OpenIM 均运行在服务器上。WSL 本地开发通过 SSH 隧道访问这些服务,不开放数据库、缓存和 OpenIM Server API 的公网端口。


建立隧道 ​

统一入口(终端会保持运行) ​

bash
./Api/dev-tunnels.sh

默认使用 ~/.ssh/XieDao.pem 和项目开发服务器。需要覆盖时设置 XIEDAO_SSH_KEY 或 XIEDAO_SERVER。

脚本建立以下转发:

服务WSL 本地地址服务器地址
MySQL127.0.0.1:3306127.0.0.1:3306
Redis127.0.0.1:6379127.0.0.1:6379
OpenIM Server API127.0.0.1:10002127.0.0.1:10002

Spring Boot 配置 ​

隧道建立后,默认配置无需修改。需要覆盖时使用 DB_HOST、DB_PORT、REDIS_HOST、REDIS_PORT 和 OPENIM_SERVER_API_ADDRESS。

yaml
spring:
  data:
    redis:
      host: ${REDIS_HOST:127.0.0.1}
      port: ${REDIS_PORT:6379}

关闭隧道 ​

在运行隧道的终端按 Ctrl+C。


前提条件 ​

  • 服务器 22 端口可访问(SSH)
  • 三个服务在服务器 127.0.0.1 对应端口监听
  • 本地 3306、6379、10002 未被其他进程占用

携岛 XieDao · 内部文档