首页 > 其他分享 >【反向代理】使用nps替代frp,反向代理nas更加容易

【反向代理】使用nps替代frp,反向代理nas更加容易

时间:2025-01-12 12:54:42浏览次数:1  
标签:代理 npc nas 反向 服务端 公网 port nps 客户端

#nps #npc #frp #反向代理

为什么选择nps而不是frp:

  • frp的语法一直在变动,小白配置很容易出错
  • nps服务端提供了网页的管理配置界面,更加容易上手。而frps的网页只能查看,无法配置

使用 nps 和 npc 进行反向代理部署教程

nps 是一款轻量级的反向代理工具,支持内网穿透,结合客户端 npc 使用可以方便地将内网服务暴露到公网。

一、前置要求

1、一台公网服务器(运行 nps 服务端)

系统:Linux(建议 Ubuntu、Debian 或 CentOS)。
具有公网 IP。

2、内网机器(运行 npc 客户端)

系统:Windows、Linux 或其他常见操作系统。
部署了需要被外网访问的服务。

二、下载与安装

1、下载 nps 服务端

官方下载地址:nps Releases
选择适合公网服务器的版本(例如 Linux x64),下载后解压。
直接在github搜nps下载对应版本即可

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

三、配置 nps 服务端

1、 生成默认配置文件 进入解压后的 nps 文件夹,运行以下命令生成配置文件:

./nps install

配置文件路径默认位于 /etc/nps/conf/nps.conf。

2、 修改配置文件 打开配置文件进行编辑:

nano /etc/nps/conf/nps.conf以下为关键配置项说明:

# 服务运行的端口
http_proxy_port=80           # HTTP 代理端口
https_proxy_port=443         # HTTPS 代理端口
bridge_port=8024             # 客户端与服务端通信的端口
# 服务端登录的用户名和密码(管理面板)
web_username=admin
web_password=yourpassword
# 管理面板的访问地址
web_port=8080                # 默认 8080

保存并关闭文件。

3、 启动 nps 服务端 运行以下命令启动服务:

sudo systemctl start nps

验证服务是否正常运行:

curl  http://<你的公网服务器IP>:8080

使用 web_username 和 web_password 登录管理面板。

四、配置 npc 客户端

1、获取客户端配置文件 登录 nps 服务端的管理面板:

地址:http://<你的公网服务器IP>:8080 登录后,进入 客户端管理,添加一个新的客户端,记录生成的密钥。

我使用的绿联dxp4800,直接ssh连接设置即可。

2、修改 npc 配置文件 在内网机器的 npc 文件夹中,编辑 npc.conf 文件:

nano npc.conf以下为配置文件示例:

# 服务端的公网 IP 和通信端口
server=你的公网服务器IP:8024
# 客户端密钥
vkey=刚刚生成的密钥
# 本地需要暴露的服务
[test]
type=tcp
local_port=80        # 本地服务端口
remote_port=8081     # 公网访问的端口

3、启动 npc 客户端
运行以下命令启动 npc:

./npc-config=npc.conf

五、测试访问

在公网通过以下地址访问内网服务,验证是否成功: http://<你的公网服务器IP>:8081

六、设置开机自启

【nps 服务端】 :运行以下命令设置开机自启:

sudo systemctl enable nps

【npc 客户端】: 为 npc 创建一个 systemd 服务文件:

sudo nano/etc/systemd/system/npc.service

以下为nas上npc的配置服务文件内容:

[common]
server_addr=xxxxx
conn_type=tcp
vkey=xxxxx
auto_reconnection=true
max_conn=1000
flow_limit=1000
rate_limit=1000
web_username=xxxxx
web_password=xxxxx
crypt=true
compress=true
#pprof_addr=0.0.0.0:9999
disconnect_timeout=60


[health_check_test]
health_check_timeout=1
health_check_max_failed=3
health_check_interval=1
health_check_type=tcp
health_check_target=127.0.0.1:8083,127.0.0.1:8082

[qb]
target_addr=127.0.0.1:38091
server_port=38091

[iyuu]
type=tcp
target_addr=127.0.0.1:30002
server_port=40402

保存并启动服务:

sudo systemctl enable npc
sudo systemctl start npc

七、常见问题

端口被占用 确保服务端配置的 http_proxy_port、https_proxy_port 和 bridge_port 未被其他服务占用。 检查客户端配置的 remote_port 是否冲突。

防火墙问题 确保公网服务器开放了 nps 服务端所需的端口(如 8024、80、443)。 在内网机器上,确保本地服务端口(如 80)可以被访问。

客户端无法连接 确保服务端与客户端的密钥一致。 检查服务端与客户端的网络连通性。 至此,nps 和 npc 的反向代理部署已完成。如果有其他问题,可以参考官方文档或寻求社区支持。

原创 Rare 图比fire

标签:代理,npc,nas,反向,服务端,公网,port,nps,客户端
From: https://www.cnblogs.com/o-O-oO/p/18666884

相关文章

  • midjourney-proxy - midjourney代理
    4700Stars2300Forks0Issues13贡献者Apache-2.0LicenseJava语言主页:MidjourneyAPI-EnableMidJourneyDiscordproxyandsetupAIdrawingAPIcalls.更多AI开源软件:AI开源-小众AImidjourney-proxy为使用MidJourneyDiscord频道的用户提供了一个代理,使......
  • 使用代理IP:这些风险和好处你必须知道
    网络时代,一切都在快速发展,有很多以前都还不太成熟的概念,现在已经有配套的工具可以实现了。特别是现在看到很多网络技术在完善,而且出现了ip代理软件,在功能方面也是越来越强大,为大家带来上网的便利,使用绿色纯净的高质量代理IP软件,能够开展很多的网络项目。但是在使用ip代理软件的......
  • 代理IP的误区与真相如何选择
    一,代理IP:基本概念与常见误区在数字化时代,代理IP成为了网络世界的一把双刃剑。它既能帮助用户隐藏真实身份、绕过地理限制,也可能因使用不当而成为隐私和安全的威胁。代理IP,即中间服务器,用户通过它来转发网络请求,从而隐藏自己的IP地址。常见的代理IP协议包括HTTP、HTTPS和So......
  • 飞牛nas搭建体验
    一、前言在某站看up主的HomeAssistant教程时,发现up主使用一个绿联云的nas系统看起来很美观方便,搜索了一下发现其本质就是linux包装的,并且提供了客户端可以通过图形化界面操作,博主也玩过很多linux系统,基本都是连接显示器才有界面可以操作,这种可以通过软件连接linux就能有页......
  • Linux连接(NFS)群晖NAS遇到的问题(最终选SetGID+umask)
     说明:公司在寻找存储服务器,分布式太贵,后来找来厂家提供服务器试用一段时间,可以的话再买更高型号的来用,此文章记录整个过程,可能比较杂,等以后有时间再来整理吧。需求:想要在服务器之间共同访问并操作这里的存储,并且还要再Windows上查看(需求又改了Windows上也会做增删改的操作。。)......
  • 【Web】0基础学Web—事件对象、事件委托(事件代理)——星级评论案例
    0基础学Web—事件对象、事件委托(事件代理)——星级评论案例事件对象关闭鼠标右键的点击事件关闭鼠标滚轮的事件点击的目标对象点击鼠标的左键0滚轮1右键2获得被点击的节点的名称或取相对于浏览器左上角的距离(会受页面滚动条的影响)获取相对于文档左上角的距离(不受滚动条......
  • 使用Azure OpenAI实现检索代理的实践指南
    在当今的信息爆炸时代,如何高效地从巨量的数据中提取出有用的信息成为了技术领域的一个重要挑战。AzureOpenAI提供了一种强大的检索代理架构,能够在Arxiv等学术领域进行高效检索。在本篇文章中,我们将深入探讨如何利用Retrieval-Agent包,结合AzureOpenAI和LangChain,构建一个......
  • ABP项目添加第三方API客户端代理
    第三方API客户端代理启动模板中包含HttpApi.Client​项目,这个项目是应用程序自己的客户端代理,用于提供给其他应用访问。例如BlazorWebAssembly使用HttpApi.Client​项目生成的API客户端代理访问应用程序的服务。本文介绍在应用程序中如何访问其他应用的API。‍远程应用服务接......
  • BurpSuite实操之代理功能
    一、代理原理BurpSuite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。通过拦截,BurpSuite以中间人的方式,可以对客户端请求数据、服务端返回做各种处理,以达到安全评估测试的目的。在日常工作中,我们最常用的web客户端就是......
  • [雷达成像]对反向投影算法的粗略理解
    参考书:InversesyntheticapertureradarimagingwithMATLAB简单来说反向投影就是指将低维的数据按照某种规则映射到高维。像上图中从左边的一维数据投影到二维平面就是反向投影的体现。而在雷达成像中的反向投影法则是将雷达回波进行反向投影获得二维图像,再将各张图像进行......