主题
通过 SSH 隧道连接服务器依赖
背景
MySQL、Redis 和 OpenIM 均运行在服务器上。WSL 本地开发通过 SSH 隧道访问这些服务,不开放数据库、缓存和 OpenIM Server API 的公网端口。
建立隧道
统一入口(终端会保持运行)
bash
./Api/dev-tunnels.sh默认使用 ~/.ssh/XieDao.pem 和项目开发服务器。需要覆盖时设置 XIEDAO_SSH_KEY 或 XIEDAO_SERVER。
脚本建立以下转发:
| 服务 | WSL 本地地址 | 服务器地址 |
|---|---|---|
| MySQL | 127.0.0.1:3306 | 127.0.0.1:3306 |
| Redis | 127.0.0.1:6379 | 127.0.0.1:6379 |
| OpenIM Server API | 127.0.0.1:10002 | 127.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未被其他进程占用