通过阿里云服务器使用NPS实现外网访问本机服务
要将本机服务通过阿里云服务器使用NPS实现外网访问,请按以下步骤操作:
一、服务端设置(阿里云服务器)
-
安装NPS服务端
# 下载并解压Linux版NPS(64位) wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz tar -zxvf linux_amd64_server.tar.gz cd nps
-
修改配置文件
编辑conf/nps.conf
:bridge_port=8024 # 客户端与服务端的通信端口(需开放安全组) http_proxy_port=80 # 外部HTTP访问端口 https_proxy_port=443 # HTTPS端口 web_username=admin # 管理界面账号 web_password=your_password # 强密码 web_port=8080 # 管理界面端口
-
启动服务端
sudo ./nps install # 安装服务 sudo nps start # 启动服务
-
配置阿里云安全组
- 开放TCP端口:
8024
(桥接端口)、80/443
(代理端口)、8080
(管理端口) - 入口:
0.0.0.0/0
- 开放TCP端口:
二、管理界面配置(浏览器访问)
-
访问
http://<阿里云公网IP>:8080
,用配置文件中的账号密码登录 -
创建客户端
- 进入「客户端」→「新增」
- 备注填写
本地PC
→ 生成唯一密钥(或手动设置)→ 保存
-
添加端口映射
- 进入刚创建的客户端 →「隧道」→「新增」
- 配置项:
隧道类型:TCP 服务端端口:1122 # 阿里云服务器上的监听端口(自定义) 目标(IP:Port):<本机内网IP>:<本机服务端口> # 如 192.168.1.100:8080
三、客户端设置(本机)
-
下载NPC客户端
https://github.com/ehang-io/nps/releases下载对应版本:- Windows:
windows_amd64_client.tar.gz
- macOS:
darwin_amd64_client.tar.gz
- Windows:
-
启动客户端连接
# Windows(cmd管理员权限) npc.exe -server=<阿里云公网IP>:8024 -vkey=<客户端密钥># Linux/macOS chmod +x npc ./npc -server=<阿里云公网IP>:8024 -vkey=<客户端密钥>
四、验证访问
- 在NPS管理界面检查客户端状态显示在线
- 外网通过访问阿里云服务器的公网IP和映射端口访问服务:
curl http://<阿里云公网IP>:1122 # 或浏览器访问
防火墙检查(本机)
- Windows:控制面板 → 防火墙 → 允许应用通过防火墙(放行本机服务端口)
- Linux:
sudo ufw allow <本机服务端口>/tcp
故障排查
问题现象 | 解决方案 |
---|---|
客户端无法连接服务端 | 检查阿里云安全组是否开放8024端口 |
外网无法访问映射端口 | 确认隧道配置的服务端端口是否开放 |
管理界面无法访问 | 检查web_port 端口和防火墙 |
客户端频繁掉线 | 检查本机网络稳定性,重连客户端 |
提示:建议为NPS服务端配置域名并开启HTTPS(通过配置文件修改
web_base_url
和web_open_ssl
),长期运行建议将npc
注册为系统服务(Windows用nssm,Linux用systemd)。