74 lines
1.9 KiB
Markdown
74 lines
1.9 KiB
Markdown
# xk-hy-forward-go 概览
|
||
|
||
xk-hy-forward-go 是 XK 系统的互联网医院监管数据转发服务,基于 Go 构建,负责将内部网络的监管数据透明转发至浙江省政务云。
|
||
|
||
## 基本信息
|
||
|
||
| 项 | 值 |
|
||
|----|-----|
|
||
| 语言 | Go 1.22 |
|
||
| 模块 | `xk-hy-forward-go` |
|
||
| 依赖 | github.com/joho/godotenv (环境变量加载) |
|
||
| 部署 | 内网服务器 Windows |
|
||
|
||
## 架构角色
|
||
|
||
```mermaid
|
||
graph LR
|
||
subgraph 外部网络
|
||
TRANSIT[xk-hy-transit-go<br/>外部网络]
|
||
end
|
||
|
||
subgraph 内部网络
|
||
API[xk-api<br/>监管数据打包]
|
||
FORWARD[xk-hy-forward-go<br/>透明转发]
|
||
end
|
||
|
||
subgraph 政务云
|
||
GOV[浙江省政务云<br/>59.202.52.129]
|
||
end
|
||
|
||
API -->|加密数据| TRANSIT
|
||
TRANSIT -->|转发| FORWARD
|
||
FORWARD -->|透传| GOV
|
||
GOV -->|结果| FORWARD
|
||
FORWARD -->|回调| API
|
||
```
|
||
|
||
::: warning 双通道设计
|
||
- 外部网络 `xk-hy-transit-go` 只能访问本服务
|
||
- 本服务负责转发至浙江省政务云
|
||
- 内外网隔离,确保安全
|
||
:::
|
||
|
||
## 端点
|
||
|
||
| 监听路径 | 转发目标 | 说明 |
|
||
|----------|----------|------|
|
||
| `POST /province/supervise/data` | `SUPERVISE_TARGET_URL` (端口 28212) | 加密监管业务 JSON |
|
||
| `POST /mng/file/auth/upload` | `FILE_TARGET_URL` (端口 28211) | 处方 PDF 多部分上传 |
|
||
| `GET /health` | 本地 | 健康检查 |
|
||
| `GET /t` | 本地 | 政务云测试页面 |
|
||
|
||
## 配置 (.env)
|
||
|
||
| 变量 | 默认值 | 说明 |
|
||
|------|--------|------|
|
||
| `LISTEN_ADDR` | `:16001` | 监听地址 |
|
||
| `SUPERVISE_TARGET_URL` | — | 监管数据转发目标 |
|
||
| `FILE_TARGET_URL` | — | 文件上传转发目标 |
|
||
| `ALLOW_IPS` | — | 允许的 IP 白名单 |
|
||
| `FORWARD_SHARED_SECRET` | — | 转发共享密钥 |
|
||
| `ENABLE_FORWARD` | `true` | 启用转发(false 为 echo 模式) |
|
||
| `LOG_DIR` | — | 日志目录 |
|
||
|
||
## 启动方式
|
||
|
||
```bash
|
||
# Windows
|
||
run.bat
|
||
|
||
# 或直接运行
|
||
go run main.go
|
||
```
|