关于本地服务器 + 云服务器 + FRP 的整体总结(优化版)

关于本地服务器 + 云服务器 + FRP 的整体总结(优化版)

1、frp 的部署与作用

frp 的核心功能,就是在 本地服务器端口 ↔ 云服务器端口 之间建立一条稳定的“隧道”。
只要这条隧道打通,本地内网环境就能通过云服务器的公网 IP 被外部访问。

这条隧道只需建立一次(即 frpc ↔ frps 建立连接),之后所有被映射的服务都会通过它进行流量转发。


2、本地服务的端口映射

每个本地服务都会占用一个端口,例如一个 Docker 容器监听在:

本地:4545

如果希望外网能访问这个本地服务,就需要在 frp 中配置一个对应的“代理端口”。

frp 会将:

云服务器的端口(如4545)

与:

本地服务器的端口(如4545)

通过隧道连接起来。


3、公网访问流程

当映射关系配置完成后:

  • 外部用户访问:
    http://云服务器公网IP:4545
  • 请求先到云服务器的 4545 端口
  • 通过 frp 隧道转发到你家里的本地服务器 4545 端口
  • 最终由本地 Docker 服务处理并返回数据

也就是说:

公网IP:端口  → frps → frpc → 本地服务端口

这样,本地的 Docker 服务就能像部署在云服务器上一样被公网访问。

个人的理解:frp的部署 frp 的整个工作就是本地的端口和云服务器端口打通一条隧道,又一条就行,网络就可以进行连接了。 然后就是我们的自己的服务配置代理端口 每一个服务基本都需要一个端口的,比如我本地的一个docker服务,本地部署好了,如何让别人公网访问到呢。 这里就是通过frp隧道,将本地服务的端口和拥有公网ip的服务器的端口连接起来,这个是在frp配置里面操作的,然后就是公网ip加对外暴露的端口就会通过frp隧道流到本地的服务器上面了。