杭州做网站价格,dw对网站建设有哪些作用,免费的网站程序哪里好,网站js效果背景
在日常开发中经常会涉及到使用公网某个端口进行开发调试的情况#xff0c;但我们日常开发的机器IP是非公网IP#xff0c;所以需要使用内网穿透的手段#xff0c;使我们的服务在公网上能被访问到。 常用的内网穿透工具分两大类#xff0c;一类是付费/免费服务#xf…背景
在日常开发中经常会涉及到使用公网某个端口进行开发调试的情况但我们日常开发的机器IP是非公网IP所以需要使用内网穿透的手段使我们的服务在公网上能被访问到。 常用的内网穿透工具分两大类一类是付费/免费服务即人家已经搭建好了我们需要通过某种方式进行配置就可使用该方式下我们无需自有公网IP类似工具有花生壳另一类为开源工具如FRP、NPS等工具这类工具需要我们具备一台有公网IP的机器。 本教程基于docker、immortalwrt配置其中服务端通过docker启动客户端为immortalwrt注其他客户端也类似需要去https://github.com/ehang-io/nps 下载相应的客户端另外这里指的公网也不一定要真的公网取决于实际需求能够相互访问即可。
NPS配置
假如现有公网服务器AIP123.123.123.123为了简化安装过程在该服务器安装上docker、docker compose参考docker官网。
启动NPS服务
使用如下docker-compose.ymal
version: 3.6
services:nps:image: zhangsean/npsrestart: alwayscontainer_name: npsprivileged: trueenvironment:NPS_MODE: serverNPS_BRIDGE_TYPE: tcpNPS_BRIDGE_PORT: 8024 # 与后面开放的端口对应该端口是客户端与服务端通信端口NPS_PUBLIC_VKEY: # 自己给定一个vkeyNPS_HTTP_PROXY_PORT: 8085 # 与后面开放的端口对应该端口是反向代理与nps通信端口可直接绑定80/443端口NPC_CONN_TYPE: tpcports:- 8024:8024- 8085:8085- 8080:8080 # 默认的web管理端口volumes:- ./nps/conf:/conf # 这里将配置文件挂载到宿主机上防止因为重启导致配置丢失有了上述docker-compose 文件使用docker compose up -d将服务拉起就完成了服务端的启动如果有防火墙需要将暴露端口放行其中 web 管理端口为了安全只需某种方式能访问即可不一定要公网直接访问。
配置NPS服务端
进入NPS服务端进行配置使用服务器AIP123.123.123.123的地址进入服务端这里即8080端口如果公网暴露其url应该是http://123.123.123.132:8080,进入后会得到如下界面然后使用用户名、账号登陆nps 来到客户端这边我们需要新增一个客户端 填入客户端信息 在添加客户端成功后我们可以得到如下信息其中【客户端命令】是在github下载的客户端的情况下使用的如下载了一个windows、linux、macos客户端就可以直接用该命令连到nps上但这里是在路由器上配置只需要记住这里的【唯一验证密钥】即可 至此服务端配置完成了一半等客户端上线后参考后续配置接下来需要配置客户端。
客户端配置
客户端安装
登陆到我们的路由系统中通过如下操作安装 在弹出的提示中点击安装
客户端安装完成截图 安装完成后需要重启一下 重启后再次登陆路由系统根据提示输出下面三部分内容其中vkey为上面服务器生成的【唯一验证密钥】这里的配置与服务端的客户端配置保持一致即可 至此客户端配置完毕后续继续配置服务端
穿透配置
客户端连接成功后服务端可以看到如下信息即客户端当前已经在线 假如我们的局域网网段为【192.168.3.0/24】路由器IP为192.168.3.1现在局域网内有台设备B的IP为 192.168.3.10需要将设备B的8000端口暴露到公网上使其能够访问这里有两种方式一种是域名访问一种是端口访问。
端口访问 添加上述配置后就能使用123.123.123.123:8090 来访问 服务192.168.3.10:8000
域名访问
该方式下需要提前配置域名解析可以通过修改hosts文件方式实现也可以通过域名解析实现此处略过。 完成配置后即可通过访问你自己的域名地址来访问到内网服务了。