贵阳网站建设设计公司哪家好,张家口手机台app下载,南京斯点企业网站建设,专业的企业宣传片拍摄公司内网穿透#xff0c;也即 NAT 穿透#xff0c;进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。简单来说#xff0c;就是让互联网#xff08;外网#xff09;设备能访问局域网#xff08;内网#xff09;设备提…内网穿透也即 NAT 穿透进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。简单来说就是让互联网外网设备能访问局域网内网设备提供的服务这里的设备通常指电脑。一、内网穿透的应用场景对开发人员来说需要使用到内网穿透的一个典型的应用场景就是针对第三方授权通常是 OAuth2.0和支付回调的开发调试。通过内网穿透工具将第三方 SDK 或平台的回调地址映射到本机开发环境从而达到实时调试的目的。其次是节约部署成本通常是公网服务器费用。通过将应用部署在本机再利用内网穿透工具对外提供服务这样既能节约服务器租用费用又能提升服务器的硬件配置。目前市面上有不少免费提供内网穿透的工具/产品比如很大众化的nat123那为什么还要自己搭建呢笔者搭建内网穿透的目的就属于低频率开发调试用在拥有公网服务器的条件下自建是最合适的方式。二、内网穿透的搭建工具ngrok一个国外的穿透工具1.0 版本是开源的目前 2.0 及以上版本已经闭源并且提供免费和收费的服务。frp这是一个国内的开源工具目前最新版本为 v0.61.1截止2025-02-14有比较详尽的中文文档并且一直在维护更新。由于 frp 一直开源并且维护积极、更新频繁再加上中文文档的加持笔者最终选择了 frp 作为搭建工具。注frp 自主搭建需要一个有公网 ip 的服务器本文使用阿里云 ECS。三、frp 下载和版本选择官方 github release 地址目前最新版本是 v0.61.1截止2025-02-14官方github地址可能不易访问和下载这里提供了 v0.61.1 的常用平台安装包developbook.cn/download/fr…1、版本选择说明压缩包说明frp_0.61.1_darwin_amd64.tar.gz适用于 Mac OS 系统frp_0.61.1_freebsd_amd64.tar.gz适用于 FreeBSD 64 位系统frp_0.61.1_linux_amd64.tar.gz适用于 Linux 64 位系统frp_0.61.1_linux_arm.tar.gz适用于 Linux 32 位嵌入式系统frp_0.61.1_linux_arm64.tar.gz适用于 Linux 64 位嵌入式系统frp_0.61.1_windows_amd64.zip适用于 Windows 64 位系统frp_0.61.1_windows_arm64.zip适用于 Windows 64 位嵌入式系统笔者的服务器系统为 CentOS7 64 位所以选择了 frp_0.61.1_linux_amd64.tar.gz笔者的个人电脑系统为 Mac OS X所以选择了 frp_0.60.1_darwin_amd64.tar.gz。2、下载方式直接下载直接点击链接使用浏览器下载到本机。利用 ssh 工具连接到阿里云 ECS再使用 lrzsz 工具的 rz 命令将 frp_0.61.1_linux_amd64.tar.gz 上传到服务器而压缩包 frp_0.61.1_darwin_amd64.tar.gz 直接在本机解压。推荐大家一款Mac上好用的免费SSH工具FinalShell注ssh 工具、lrzsz 实用工具的安装和用法可自行搜索。终端命令下载 服务器// 下载
wget https://developbook.cn/download/frp/v0.61.1/frp_0.61.1_linux_amd64.tar.gz// 解压
tar -xzvf frp_0.61.1_linux_amd64.tar.gz 本机// 使用curl下载
curl -O https://developbook.cn/download/frp/v0.61.1/frp_0.61.1_darwin_amd64.tar.gz// 解压
tar -xzvf frp_0.61.1_darwin_amd64.tar.gz3、frp 压缩包文件说明每个压缩包解压后都包含以下文件 frpc —— 客户端可执行二进制文件frpc.toml —— 客户端使用的配置文件frps —— 服务端可执行二进制文件frps.toml —— 服务端使用的配置文件注服务端只需用到 frp_0.61.1_linux_amd64 目录下的 frps 相关文件本机客户端只需用到 frp_0.61.1_darwin_amd64 目录下的 frpc 相关文件。四、FRP服务端配置和启动1、在服务器上打开 frps.toml vi frps.toml注确保当前已进入工作目录/root/frp_0.61.1_linux_amd64/。2、配置 frps 要监听的端口按下 i 进入编辑模式在末尾增加一行vhostHTTPPort 8080使 frps.toml 最终配置如下 [common]
bindPort 7000
vhostHTTPPort 8080注vhostHTTPPort 监听的端口不能被占用否则会导致 frps 不能启动端口可根据实际需要修改bindPort 端口为 frp 服务端和客户端连接通信的端口默认为 7000。3、保存配置并退出按下 Esc输入:wq。4、启动 frps 程序 ./frps -c ./frps.toml注如遇 permission denied 错误表明 frps 可能没有运行权限则先赋权 chmod 700 frps然后再次执行启动命令。五、FRP客户端配置和启动1、在本机进入 frp_0.61.0_darwin_amd64 目录打开 frpc.toml 文件2、以配置访问内网的 web 服务常见情形为例最终修改 frpc.toml 如下 serverAddr x.x.x.x
serverPort 7000[[proxies]]
name local-service
type http
localIP 127.0.0.1
localPort 3000注x.x.x.x 为运行 frps 的服务器公网 iplocalPort 为本机启动的 web 服务对应的端口请根据实际情况修改。3、启动 frpc 程序 sudo ./frpc -c ./frpc.toml注此时 frpc 会通过 7000 端口尝试与 frps 建立通信连接如果一切顺利则终端会提示连接成功但实际情况却显示连接失败因为还少了两个步骤一、需要登录阿里云控制台将 7000 端口加入阿里云 ECS 安全组的入站规则里面同理还需将 8080 端口加入。具体操作参考添加安全组规则二、将 7000 和 8080 加入服务器防火墙规则具体操作参考CentOS7 使用 firewalld 打开关闭防火墙与端口。当一切就绪frpc 启动并连接成功后打开浏览器输入 x.x.x.x:8080 就能访问到本机 127.0.0.1:3000 的服务本机 web 服务需要处于启动状态。至此一个最简配置的基于 frp 的内网穿透便搭建完成更多配置和用法请参考官方文档frp 官方中文文档。六、小结有公网主机资源和有一定的网络知识的是可以花点时间自己搭建自己专属的内网穿透服务器的采用FRP这样的开源工具社区支持文档多有什么问题可以参考相应教程来处理。没有公网IP的和普通用户或确实不想多折腾的还要是要老老实实用其他三方内网穿透工具如nat123这样的有界面直接操作一步添加映射可以自定义内网地址和公网地址端口就能实现内网提供发布到互联网。