今天在腾讯云秒杀活动中, 成功以首年38元的价格抢购了一台 2 核 2 G的云服务器,这是针对新用户的特价。由于博客配置最低 2 核 4 G的配置,为了更好地利用这台服务器,决定部署一个内网穿透工具,以便我可以从外部访问我的内网设备。由于之前大佬踩坑的经验,选择了 Frp 作为内网穿透工具。接下来,我将分享我的部署过程。
版权声明
本教程参考了One作者的教程,并结合自身实际部署过程中积累的经验编写而成。原始教程链接为实战:docker式部署frp内网穿透-2024.7.13(测试成功),感谢原作者提供的宝贵参考资料。
本教程仅供学习和交流使用,任何人不得将本教程的内容用于商业用途。如需引用或转载,请务必注明原作者及本文出处。如侵权之处,请联系博主进行删除,谢谢~
部分内容引用One大佬的教程,感谢大佬的贡献。
什么是 frp?
FRP(Fast Reverse Proxy)是一款开源的高性能内网穿透工具,它允许你将内网服务器暴露到公网,实现外部访问。FRP 的工作原理是通过在内网和外网各部署一个代理服务,使得外部请求能够通过外网代理转发到内网服务,从而解决了内网环境下的访问问题。
为什么需要内网穿透?
在实际应用中,我们常常需要从外部访问位于内网中的应用或服务或者是云服务器太贵,刚好有自己本地的虚拟机,可以将本地虚拟机的内网IP暴露在公网IP进行访问,如远程管理内网服务器、访问开发环境、测试应用等。然而,由于内网环境通常是封闭的,且受限于 NAT(网络地址转换)或防火墙,直接访问这些内网服务是不可行的。
内网穿透技术能够解决这些问题,通过在公网和内网之间建立一个中介服务,使得内网中的服务能够被安全、可靠地访问。这对于开发者、运维人员及需要远程访问的用户来说是非常重要的。
FRP的特点
- 高效性能:FRP在高并发情况下仍能保持优异的性能表现,适用于各种网络环境。其设计优化了数据传输效率,确保了稳定的连接质量。
- 简易配置:FRP的配置文件简洁明了,易于理解和操作。支持 多种协议和配置选项,使得部署和管理更加便捷。
- 多种协议支持:FRP支持TCP、HTTP、HTTPS、QUIC、KCP和WebSocket等多种协议,能够满足大多数应用场景的需求。用户可以根据具体需求选择最适合的协议进行穿透。
- TCP连接流式复用:通过在单个连接上承载多个请求,FRP减少了连接建立时间,降低了请求延迟,提高了网络效率。
- 灵活性和扩展性:FRP客户端和服务端都提供了灵活的配置选项,支持负载均衡和访问控制等高级功能。用户可以根据需求进行高度定制化配置。
- 端口复用:支持多个服务通过同一个服务端端口进行暴露,减少了端口使用的复杂性和管理难度。
- P2P通信:在特定情况下,FRP支持P2P通信,流量可以直接在客户端之间传输,充分利用带宽资源,减少对中转服务器的依赖。
- 服务端插件系统:FRP的服务端插件系统高度可扩展,允许用户根据自身需求进行功能扩展,提升了系统的灵活性和适应性。
- 用户友好的UI页面:FRP提供了易于使用的用户界面,使得服务端和客户端的配置、监控和管理变得更加方便。
FRP的组成
客户端 ( frpc ) 和 服务端 ( frps )。通常情况下,服务端部署在具有公网 IP 地址的机器上,而客户端部署在需要穿透的内网服务所在的机器上。