Linux上部署Frps与Mac上Frpc的配置方案详细记录

VFX大学 VFX Pipeline | 数字创意工作流 Linux上部署Frps与Mac上Frpc的配置方案详细记录

正在查看 5 条回复
  • 作者
    帖子
    • #127157

      追光
      参与者
      机构认证

      远程办公在过去几年里经历了巨大的发展。随着技术的进步和全球互联网的普及,越来越多的公司开始意识到远程工作的潜力和优势。视频会议、实时协作工具、云计算和即时通讯工具的发展,使得远程办公变得更加高效和便捷。这些工具让团队可以随时随地共享信息和合作,无论他们身处何地。

      虽然方便但是没有公网ip、并不能很好的使用,公网与内网的连接就成了刚性需求。

      NAT(Network Address Translation,网络地址转换)穿透对远程办公非常重要。NAT是一种网络技术,允许多个设备共享单个公共IP地址,在互联网上发送和接收数据。然而,在远程办公环境中,NAT可能导致一些问题,而NAT穿透可以解决这些问题。

      Nat穿透有多种实现方式,比如虚拟局域网、Frp等工具,今天我们就比较热门的frp进行分享。

      FRP(Fast Reverse Proxy)是一个用于进行内网穿透的开源工具,它可以帮助将本地服务暴露到公共网络,实现远程访问私有网络中的服务。

      .FRP的工作方式基于客户端-服务器模型。在内网中部署FRP客户端,同时在公网中部署FRP服务器,客户端和服务器之间建立连接。

      .客户端负责将本地服务的请求发送到服务器,服务器收到请求后将流量转发给客户端中的目标服务,从而实现内外网之间的数据通信。

      下面我们就进入在Linux服务端部署流程:

    • #127158

      追光
      参与者
      机构认证

      在Linux上部署Frps服务端

      需要的设备:一台具有公网ip的服务器、一台或者多台无公网的mac、Win电脑。这里是具有公网ip的linux服务器配置

      1、下载适合当前版本的Frps。(可以从github下载frps对应的版本)比如我的系统是Centos7对应下载:frp_0.53.0_linux_amd64

      小提示:如果使用了Linux管理面板可以直接通过电脑下载文件,并上传到方便管理的目录即可。上方的操作做的也是这个操作,可跳过上方的操作,选择适合你自己的方法来进行下载、上传。

      比如我将Frps与 Frps.toml文件拷贝到方的目录:/www/wwwroot/net/frps/

      2. 配置 FRP 服务器
      创建 FRP 配置文件 frps.atoml,用于配置 FRP 服务器。

      在编辑器中添加以下配置,根据需求进行修改:

      3. 启动 FRPS 服务器。(这里我常用的三种启动方式都写在下方,每行一个都有解释)

      启动FRP服务器后,它就开始监听来自客户端的连接。

      4、配置开机自动启动,这样每次开机frps就会自动启动

      5、这一步一般情况下可以不做,但如果要让进程始终处于运行状态,可以安装Supervisor进行配置,也可以使用宝塔面板的进程管理器,配置文件如下:

    • #127159

      追光
      参与者
      机构认证

      在Mac中部署frpc客户端并设置开机启动/进程守护

      1、下载Mac系统版本客户端:frp_0.53.0_darwin_arm64.tar.gz,如果是M芯片的选择darwin arm版,intel芯片的选择:darwin_amd64:


      2、解压文件后得到四个文件,我们仅留下:frpc、frpc.toml俩个文件。


      3、配置frpc.toml,连接客户端并且分配远程与本地的端口映射

      3、配置好文件后,启动本地客户端进行连接测试,在Terminal(终端)中进入目录,并执行启动命令:

      上方两条可以通过shortcuts,或者新建为一个frpc.command的脚本。


      4、设置开机Mac开机启动与进程守护

      Mac OS各目录决定了其启动的先后和拥有的权限

      4、1写入到用户启动项目,开机后输出密码登陆用户后启动:

      4、2、写入到系统启动项目:开机后即启动,不需要输入用户输入密码

      检查服务进程是否启动:

      小提示:如果进入开机自动启动后,kill掉进程会自动重新读取frpc.atoml,可以使用命令关掉进程,让其自动启动

    • #127171

      追光
      参与者
      机构认证

      Frps部署ssl通讯方式后去掉端口号的方法与转发速度的提升

      1、tcp类型通讯协议的转发:

      需要在服务端、即有公网的服务器上配置Nginx反向代理,将域名或者ip转发到带端口的网络接口,这样就不需要输入端口号才能访问。这里我全程使用了ssl安全链接,所以转发到了https的端口上。

      转发目标:https://127.0.0.1:1443 转发host:¥host

      完整写法如下:

      经验记录
      1、如果带端口访问,ssl只需要在本地服务器 或者转发服务器添加ssl证书即可

      2、如果要去掉端口,需要在转发服务器上使用反向代理,将域名转发到转发服务器的ssl模式转发端口

      访问此域名则转发到服务器的:1443端口,1443端口又转发到本地服务器端口:443

      在这个模式下,所有链接都被切换到https模式,需要在转发服务器和 本地服务器都部署当前域名的证书。转发为ssl时需要证书验证一次,到达本地服务器时候还需要本地服务器有证书。俩个证书可以不是同一个厂家的,但必须是同域名的。

      2、http、https方式的Nginx反向代理转发去端口

      2、1vhost_https_port方式Nginx反向代理配置

      2、2、http方式Nginx反向代理配置: vhost_http_port

    • #127181

      追光
      参与者
      机构认证

      补充:Nginx反向代理实现实时上传下载

      Nginx反向代理默认采用:用户将文件上传《—-》到Nginx反向代理服务器《—-》转发到后端服务器,并以网速最低的一端作为总传输速度,并在每一段传输中,以当前段的最大带宽作为区域传输速度。

      在小文件上传下载时候,这个过程非常快,所以给人造成一种实时的错觉。当进行大文件(视频、软件、音频)下载的时候,就会发现效率很低。

      具体表现:本地客户端输出流量正常,服务端输入流量正常,但从服务端到用户的速度很低、通常只有几十kb,这是由于反向代理过程中,用户需要将文件完全上传到服务端后,服务端才从服务端转发到后端,如果是大一点的视频、音频会造成超时无法播放的问题。


      用户下载、播放时的方式:
      在nginx反向代理中关闭向用户传输文件的缓存(即Nginx出方向的缓存)添加:

      用户进行上传
      如果站点是允许用户进行大文件(视频、软件、音频)上传即(Nginx入方向)的,同样会存在上述问题,我们可以通过关闭传入buffering来实现直接上传下载的目的,并设定客户端上传文件大小限制:


      以上是在部署与应用过程中的记录,如果你在部署中遇到问题可以跟帖留言,看到就回复啦。

    • #127184

      追光
      参与者
      机构认证

      (末端Apache配置)补充:Apache作为客户端服务器对视频、音频文件传输进行压缩以及浏览器缓存时间设置策略

      Apache获取用户真实ip的配置:

正在查看 5 条回复
  • 在下方一键注册,登录后就可以回复啦。
error: 提示:内容受到保护!!