🔌 支持协议
内网云基于 SSH 反向隧道技术,原生支持 TCP 协议及上层应用协议。
一、协议总览
| 协议 | 访问方式 | 适用场景 | 是否需要域名 |
|---|---|---|---|
| 🌐 HTTP | 子域名访问 | Web 站点、API 接口、微信小程序 | ✅ 自动分配 |
| 🔒 HTTPS | 子域名访问 | 需要 SSL 的 Web 应用、支付回调 | ✅ 自动分配 |
| 🔌 TCP | IP:端口 直连 | 数据库、SSH、Redis、游戏服务器 | ❌ |
二、HTTP 协议
2.1 什么是 HTTP 模式?
HTTP 模式通过 Nginx 反向代理,为 Web 应用提供友好的域名访问方式。
特点:
- ✅ 自动分配
*.neiwangyun.net子域名 - ✅ 无需购买域名和服务器
- ✅ 内置 WebSocket 支持
2.2 如何使用?
只需将远程端口设置为 80:
ssh -R 80:127.0.0.1:8000 your_username@sh3.neiwangyun.net
连接成功后,会看到分配的域名:
Access to the Tunnel
http : http://xxxxx.neiwangyun.net
https : https://xxxxx.neiwangyun.net
2.3 适用场景
| 场景 | 说明 |
|---|---|
| 🌐 Web 站点 | 本地开发的网站,临时分享给他人预览 |
| 🔌 API 接口 | 前后端分离开发,前端调用本地 API |
| 💬 微信小程序 | 小程序要求 HTTPS,内网云自动提供 |
| 📱 公众号开发 | 微信要求域名白名单,使用分配的子域名 |
三、HTTPS 协议
3.1 什么是 HTTPS 模式?
HTTPS 在 HTTP 基础上增加 SSL/TLS 加密,保障数据传输安全。
特点:
- ✅ 免费 SSL 证书,无需申请
- ✅ 自动配置,开箱即用
- ✅ 满足微信、支付宝等平台要求
3.2 如何使用?
与 HTTP 模式相同,端口设置为 80 即可自动获得 HTTPS 地址:
ssh -R 80:127.0.0.1:8000 your_username@sh3.neiwangyun.net
连接成功后,HTTPS 地址可直接访问:
Access to the Tunnel
https : https://xxxxx.neiwangyun.net
3.3 适用场景
| 场景 | 为什么需要 HTTPS? |
|---|---|
| 💰 支付回调 | 支付宝/微信支付要求 HTTPS 回调地址 |
| 💬 微信小程序 | 小程序强制要求 HTTPS |
| 🔐 登录页面 | 保护用户密码安全 |
| 🛒 电商网站 | 涉及用户隐私数据 |
| 📡 WebSocket | wss:// 加密 WebSocket 连接 |
3.4 WebSocket 支持
HTTP 模式内置 WebSocket 协议支持:
| 访问协议 | WebSocket 协议 |
|---|---|
http:// | ws:// |
https:// | wss:// |
示例:本地 WebSocket 服务端口 8080
ssh -R 80:127.0.0.1:8080 your_username@sh3.neiwangyun.net
前端连接:
// 使用 wss:// 协议连接
const ws = new WebSocket('wss://xxxxx.neiwangyun.net');
四、TCP 协议
4.1 什么是 TCP 模式?
TCP 模式将内网服务端口直接映射到公网,外部通过 IP:端口 方式访问。
特点:
- ✅ 支持任意 TCP 协议
- ✅ 延迟低,性能好
- ✅ 适合非 Web 类服务
4.2 如何使用?
将远程端口设置为非 80 的任意端口:
# MySQL 数据库映射
ssh -R 3306:127.0.0.1:3306 your_username@sh3.neiwangyun.net
# SSH 远程连接映射
ssh -R 22:127.0.0.1:22 your_username@sh3.neiwangyun.net
# Redis 映射
ssh -R 6379:127.0.0.1:6379 your_username@sh3.neiwangyun.net
连接成功后,会看到 TCP 直连地址:
Access to the Tunnel
ipport: xxxxx.neiwangyun.net:12345
4.3 适用场景
| 场景 | 端口 | 说明 |
|---|---|---|
| 🗄️ MySQL | 3306 | 远程数据库连接 |
| 🐘 PostgreSQL | 5432 | 远程数据库连接 |
| 🔴 Redis | 6379 | 远程缓存连接 |
| 🐧 SSH | 22 | 远程服务器管理 |
| 🖥️ 远程桌面 | 3389 | Windows RDP |
| 🎮 游戏服务器 | 25565 | Minecraft 等 |
| 📦 MinIO | 9000 | 对象存储 |
4.4 使用示例
场景 1:远程连接公司 MySQL
# 1. 在公司内网服务器执行
ssh -R 3306:127.0.0.1:3306 your_username@sh3.neiwangyun.net
# 2. 在家使用 MySQL 客户端连接
mysql -h xxxxx.neiwangyun.net -P 12345 -u root -p
场景 2:远程管理 Linux 服务器
# 1. 在目标服务器执行
ssh -R 22:127.0.0.1:22 your_username@sh3.neiwangyun.net
# 2. 从外部 SSH 连接
ssh -p 12345 user@xxxxx.neiwangyun.net
五、如何选择协议?
6.1 决策流程图
你 的服务是什么类型?
│
├── Web 端口(80/443/8080等)
│ └── 需要 HTTPS? → HTTP/HTTPS 模式(端口 80)
│
├── 数据库/SSH/Redis
│ └── TCP 模式(任意端口)
│
└── 游戏服务器
└── TCP 模式(游戏端口)
6.2 快速对照表
| 我要映射... | 远程端口 | 访问方式 |
|---|---|---|
| 本地网站 (HTTP) | 80 | http://xxxxx.neiwangyun.net |
| 本地网站 (HTTPS) | 80 | https://xxxxx.neiwangyun.net |
| 微信小程序后端 | 80 | https://xxxxx.neiwangyun.net |
| 支付回调 | 80 | https://xxxxx.neiwangyun.net |
| MySQL 数据库 | 3306 | xxxxx.neiwangyun.net:端口 |
| SSH 服务器 | 22 | ssh -p 端口 user@xxxxx.neiwangyun.net |
| Redis | 6379 | xxxxx.neiwangyun.net:端口 |
| Minecraft | 25565 | xxxxx.neiwangyun.net:端口 |
六、常见问题
❓ 防跨域请求限制
问题:Web 应用拒绝响应,提示跨域错误。
原因:应用绑定了特定域名,与内网云分配的域名不一致。
解决:
- 在本地应用配置中,将内网云域名加入允许列表
- 示例(Node.js Express):
app.use(cors({
origin: ['https://xxxxx.neiwangyun.net']
}));
❓ WebSocket 连接失败
问题:WebSocket 无法连接。
原因:应用仅支持特定域名或协议。
解决:
- 确保使用正确的协议:
ws://或wss:// - 确保应用允许内网云域名连接
- 示例:
// 正确
const ws = new WebSocket('wss://xxxxx.neiwangyun.net');
// 错误:使用了 ws:// 而非 wss://
const ws = new WebSocket('ws://xxxxx.neiwangyun.net');
❓ TCP 端口被占用
问题:提示端口已被使用。
原因:该端口已被其他用户占用。
解决:
- 更换其他端口
- 或等待占用者释放端口
❓ 如何绑定自己的域名?
方法:在域名 DNS 设置中添加 CNAME 记录,指向内网云分配的子域名。
步骤:
- 登录域名管理后台
- 添加 CNAME 记录:
your.domain.com→xxxxx.neiwangyun.net - 等待 DNS 生效(通常 10 分钟内)
七、更多资源
| 资源 | 说明 |
|---|---|
| 快速开始 | 3 分钟上手教程 |
| nssh 客户端 | 客户端完整功能介绍 |
| 服务一览表 | 实测支持的服务列表 |
| Docker 部署 | 容器化部署方案 |