当前位置: 首页 > news >正文

通过阿里云服务器使用NPS实现外网访问本机服务

要将本机服务通过阿里云服务器使用NPS实现外网访问,请按以下步骤操作:

一、服务端设置(阿里云服务器)

  1. 安装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
    
  2. 修改配置文件
    编辑 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               # 管理界面端口
    
  3. 启动服务端

    sudo ./nps install  # 安装服务
    sudo nps start      # 启动服务
    
  4. 配置阿里云安全组

    • 开放TCP端口:8024(桥接端口)、80/443(代理端口)、8080(管理端口)
    • 入口:0.0.0.0/0

二、管理界面配置(浏览器访问)

  1. 访问 http://<阿里云公网IP>:8080,用配置文件中的账号密码登录

  2. 创建客户端

    • 进入「客户端」→「新增」
    • 备注填写本地PC → 生成唯一密钥(或手动设置)→ 保存
  3. 添加端口映射

    • 进入刚创建的客户端 →「隧道」→「新增」
    • 配置项:
      隧道类型:TCP
      服务端端口:1122          # 阿里云服务器上的监听端口(自定义)
      目标(IP:Port):<本机内网IP>:<本机服务端口>  # 如 192.168.1.100:8080
      

三、客户端设置(本机)

  1. 下载NPC客户端
    https://github.com/ehang-io/nps/releases下载对应版本:

    • Windows:windows_amd64_client.tar.gz
    • macOS:darwin_amd64_client.tar.gz
  2. 启动客户端连接

    # Windows(cmd管理员权限)
    npc.exe -server=<阿里云公网IP>:8024 -vkey=<客户端密钥># Linux/macOS
    chmod +x npc
    ./npc -server=<阿里云公网IP>:8024 -vkey=<客户端密钥>
    

四、验证访问

  1. 在NPS管理界面检查客户端状态显示在线
  2. 外网通过访问阿里云服务器的公网IP和映射端口访问服务:
    curl http://<阿里云公网IP>:1122  # 或浏览器访问
    

防火墙检查(本机)

  • Windows:控制面板 → 防火墙 → 允许应用通过防火墙(放行本机服务端口)
  • Linux
    sudo ufw allow <本机服务端口>/tcp
    

故障排查

问题现象解决方案
客户端无法连接服务端检查阿里云安全组是否开放8024端口
外网无法访问映射端口确认隧道配置的服务端端口是否开放
管理界面无法访问检查web_port端口和防火墙
客户端频繁掉线检查本机网络稳定性,重连客户端

提示:建议为NPS服务端配置域名并开启HTTPS(通过配置文件修改web_base_urlweb_open_ssl),长期运行建议将npc注册为系统服务(Windows用nssm,Linux用systemd)。

http://www.dtcms.com/a/301704.html

相关文章:

  • vulkan从小白到专家——YUV处理
  • 动态规划 (Dynamic Programming) 算法概念-JS示例
  • Qt写游戏脚本/辅助(仅供参考)
  • @RefreshScope 核心原理深度解析:Spring Boot 的动态魔法
  • C++:模拟实现shared_ptr
  • day69—动态规划—爬楼梯(LeetCode-70)
  • LeetCode 刷题【16. 最接近的三数之和、17. 电话号码的字母组合】
  • 黑马程序员C++核心编程笔记--类和对象--运算符重载
  • 机器学习—线性回归
  • 深入解析MySQL索引页结构与B+Tree实现原理
  • ubuntu18.04解压大的tar.gz文件失败
  • 【Java系统接口幂等性解决实操】
  • java--WebSocket简单介绍
  • 2.安装CUDA详细步骤(含安装截图)
  • Dataloader的使用
  • 对抗攻击-知识点
  • HCIE学习之路:MSTP实现负载均衡实验
  • 全方位评测:11款主流指标平台优劣分析
  • [BSidesCF 2019]Kookie
  • 【测试报告】玄机抽奖系统(Java+Selenium+Jmeter自动化测试)
  • MyBatis-Plus 通用 Service(IService)详解与实战
  • Mybatis Plus 多数据源
  • 【LeetCode 热题 100】51. N 皇后——回溯
  • WiFi Mouse PC端 v1.7.2 官方中文版
  • GIF图像格式
  • 【RAG技术权威指南】从原理到企业级应用实践
  • Git Commit 生成与合入 Patch 指南
  • 《关于matplot中绘制图像中文字体乱码问题》
  • AWS免费套餐全面升级:企业降本增效与技术创新解决方案
  • 物联网发展:从概念到应用的演变历程