大家好,这里是每周都在陪你技术内卷的小谷~!
关注公粽号:IT硅谷,回复:【进群】——邀请你加入IT技术内卷群!
作为一名开发者,工作中可能有很多场景需要用到内网穿透,举个最常见的例子:在家办公时,需要用到公司的内网环境,是用远程工具连接自己的电脑?No!这时候就可以使用内网穿透工具!
或者,我们在接入一些大平台做第三方应用时,在本地开发微信公众号工具的时候需要让微信平台能否访问到本地提供的接口,同样可用到内网穿透工具。
**内网穿透(NAT穿透)**是一种将本地网络服务暴露给互联网的一种技术。
这种技术可以很好地解决许多局域网内的资源共享。采用路由的方式将一台计算机变成一个“路由器”,将公共的网络地址转为内部网络地址,从而实现通过英特网可以访问局域网资源。
今天要介绍的Fast Reverse Proxy (FRP),截至目前该项目已收获74.7 Star,在GitHub上获得了极大的认可,一起来看看。
01/ Fast Reverse Proxy (FRP) 工作原理
frp 主要由两个组件组成:客户端(frpc) 和 服务端(frps)。通常情况下,服务端部署在具有公网 IP 地址的机器上,而客户端部署在需要穿透的内网服务所在的机器上。
由于内网服务缺乏公网 IP 地址,因此无法直接被非局域网内的用户访问。
用户通过访问服务端的 frps,frp 负责根据请求的端口或其他信息将请求路由到相应的内网机器,从而实现通信。
02 安装
A.下载
您可以从 GitHub 的 Release 页面中下载最新版本的客户端和服务器二进制文件。所有文件都打包在一个压缩包中,还包含了一份完整的配置参数说明。
Release:github.com/fatedier/fr…
B.部署
解压下载的压缩包。
将 frpc 复制到内网服务所在的机器上。
将 frps 复制到拥有公网 IP 地址的机器上,并将它们放在任意目录。
C.开始使用!
编写配置文件,目前支持的文件格式包括 TOML/YAML/JSON,旧的 INI 格式仍然支持,但已经不再推荐。
使用以下命令启动服务器:./frps -c ./frps.toml。
使用以下命令启动客户端:./frpc -c ./frpc.toml。
如果需要在后台长期运行,建议结合其他工具,如 systemd 和 supervisor。
如果您是 Windows 用户,需要在命令提示符中执行相同的命令。
除了上面的玩法之外,frp还有很多玩法,比如:
自定义域名访问内网的 Web 服务
转发 DNS 查询请求
转发 Unix 域套接字
对外提 供简单的文件访问服务
为本地 HTTP 服务启用 HTTPS
点对点内网穿透
有需要的读者可以直接查看官方文档,均有详细的服务端客户端等配置案例。