今天说一下 内网穿透代理(NPS)搭建以及使用,内网穿透必然有一个外网服务器做代理转发,市面上的NATAPP、花生壳等也都是一个原理。
需求: window 本地开发,外网访问本地服务联合调试
环境:
新建一个NPS文件夹
mkdir NPS
进入NPS文件夹
cd NPS
服务端下载地址https://github.com/ehang-io/nps/releases
服务端与客户端都在这里
如果没有你想要的版本,点击 Show all
这里就是全部服务端和客户端版本了
使用 wget 命令一键拉取工具压缩包及解压压缩文件
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz && tar -zxvf linux_amd64_server.tar.gz
等待下载与解压
下载比较慢…
进入conf目录
cd conf
使用vi编辑nps.conf,按i键进入编辑模式,修改配置信息,找到web,主要修改:
修改后按Esc键输入:wq保存
输入cd …退出到NPS文件夹下
然后运行nps
./nps
服务搭建完成
如果你的服务器已经部署其他项目或网页,很有可能在启动nps时失败,报错80或443端口已被占用,此时修改nps.conf,更换端口。重新执行./nps
公网ip:端口号(nps.conf中 web_port)
输入nps.conf中 web_username 和 web_password 登录
点击增加客户端
填写信息,点击新增
创建隧道
点击新增
填写信息,点击保存完成隧道创建
上边已经介绍下载地址,这里就不说了
我下载的是 windows_amd64_client.tar.gz
在下载过程中会报毒,使用时也会报毒
系统设置一下
下载后解压到文件夹
进入conf,打开 npc.conf 进行编辑
去掉 无用连接,修改配置项
秘钥配置,客户端conf中 vkey=123456789(下图秘钥)
认证配置
本地环境配置
客户端配置完成
打开npc.exe 文件
测试连接成功
访问方式:服务器外网ip:9024
无论是开发调试,还是线上测试,只要是公开的,都应该使用域名访问
我使用的是nginx,在配置文件增加一个server
server
{
listen 80;
server_name www.tiaoshi.com;
location / {
proxy_pass http://127.0.0.1:9024;
}
}
保存后 重载配置 或重启nginx
配置完成
注意: 以上所有端口都应在服务器端防火墙或安全策略中放开