跳到主要内容

🔌 支持协议

内网云基于 SSH 反向隧道技术,原生支持 TCP 协议及上层应用协议。


一、协议总览

协议访问方式适用场景是否需要域名
🌐 HTTP子域名访问Web 站点、API 接口、微信小程序✅ 自动分配
🔒 HTTPS子域名访问需要 SSL 的 Web 应用、支付回调✅ 自动分配
🔌 TCPIP:端口 直连数据库、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
🔐 登录页面保护用户密码安全
🛒 电商网站涉及用户隐私数据
📡 WebSocketwss:// 加密 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 适用场景

场景端口说明
🗄️ MySQL3306远程数据库连接
🐘 PostgreSQL5432远程数据库连接
🔴 Redis6379远程缓存连接
🐧 SSH22远程服务器管理
🖥️ 远程桌面3389Windows RDP
🎮 游戏服务器25565Minecraft 等
📦 MinIO9000对象存储

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)80http://xxxxx.neiwangyun.net
本地网站 (HTTPS)80https://xxxxx.neiwangyun.net
微信小程序后端80https://xxxxx.neiwangyun.net
支付回调80https://xxxxx.neiwangyun.net
MySQL 数据库3306xxxxx.neiwangyun.net:端口
SSH 服务器22ssh -p 端口 user@xxxxx.neiwangyun.net
Redis6379xxxxx.neiwangyun.net:端口
Minecraft25565xxxxx.neiwangyun.net:端口

六、常见问题

❓ 防跨域请求限制

问题:Web 应用拒绝响应,提示跨域错误。

原因:应用绑定了特定域名,与内网云分配的域名不一致。

解决

  1. 在本地应用配置中,将内网云域名加入允许列表
  2. 示例(Node.js Express):
app.use(cors({
origin: ['https://xxxxx.neiwangyun.net']
}));

❓ WebSocket 连接失败

问题:WebSocket 无法连接。

原因:应用仅支持特定域名或协议。

解决

  1. 确保使用正确的协议:ws://wss://
  2. 确保应用允许内网云域名连接
  3. 示例:
// 正确
const ws = new WebSocket('wss://xxxxx.neiwangyun.net');

// 错误:使用了 ws:// 而非 wss://
const ws = new WebSocket('ws://xxxxx.neiwangyun.net');

❓ TCP 端口被占用

问题:提示端口已被使用。

原因:该端口已被其他用户占用。

解决

  1. 更换其他端口
  2. 或等待占用者释放端口

❓ 如何绑定自己的域名?

方法:在域名 DNS 设置中添加 CNAME 记录,指向内网云分配的子域名。

步骤

  1. 登录域名管理后台
  2. 添加 CNAME 记录:your.domain.comxxxxx.neiwangyun.net
  3. 等待 DNS 生效(通常 10 分钟内)

七、更多资源

资源说明
快速开始3 分钟上手教程
nssh 客户端客户端完整功能介绍
服务一览表实测支持的服务列表
Docker 部署容器化部署方案