一、简介

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, udp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。简单来说frp就是用来转发的,它可以将对某个公网上的访问转发到对内网(局域网)内某台正在运行的服务上的访问。

二、为什么使用frp

1.1 简介中简单介绍了一下frp是什么,以及作用。那我们为什么要使用frp呢?作为开发或者运维人员,当我们需要在外网也能访问项目时,一般会有如下两种方式:
(1) 在云服务器提供商处购买服务器,搭建项目运行环境;
(2) 使用一些公司提供的内网穿透服务,比如:花生壳、nat123、ngrok等,映射到自己电脑上的对应对口上。

1.2 上述两种方式的缺点:
(1)购买服务器,那我们需要购买什么配置的呢?配置低了项目运行缓慢卡顿,配置高了费钱。有时候只是一两个小的项目,对性能并没有很高的要求,但是在价钱上要想两全,很难。
(2)我只使用过花生壳的内网穿透功能,这里暂时以花生壳为例,虽然项目在本机运行,性能肯定可以保证,但它是有流量限制的,而且只能使用指定的访问地址,除非加钱,哈哈哈。

1.3 Frp:
对于Frp,我也是最近才听朋友第一次提起,不知道这个之前,一直很烦恼上面提到的问题。后来了解并使用了frp后,真香,谁用谁知道。使用Frp的前提条件:
(1) 、一台具有公网IP的服务器,可以购买一台云服务器【服务器的配置不用很高,我使用的是1核CPU、1G内存、1MB带宽(按流量计算费用)的配置,完全没有问题】
(2)、内网服务器若干,本次以一台为例
(3)、frp软件,server端和client端

三、Frp下载配置使用

3.1 下载地址

frp也是托管在Github上的开源项目,直接到Release页面下载即可,链接如下:https://github.com/fatedier/frp/releases
在写本文时,frp的版本是 v0.35.1,末尾附有这两个版本的安装包,可正常使用。

3.2 安装包结构

以frp_0.35.1_windows_amd64.zip解压后为例(Windows版本):

3.2.1服务端相关文件

(1):frps.exe、frps.ini、frps_full.ini
(2):frps.exe服务端运行程序;frps.ini:服务端配置文件(简化版);frps_full.ini:服务端配置文件(完整版)

2.2.2 客户端相关文件

(1):frpc.exe、frpc.ini、frpc_full.ini
(2):frpc.exe客户端运行程序;frpc.ini:客户端配置文件(简化版);frpc_full.ini:客户端配置文件(完整版)

3.3:Frp配置

3.3.1:frp服务端配置

frp的服务端配置比较简单

[common]
#bind_port是服务端与客户端之间通信使用的端口号
bind_port = 7000
#与客户端的token必须设置成一致,token用于验证连接,只有服务端和客户端token相同的时候才能正常访问。如果不使用token,那么所有人都可以直接连接上
token = 123456
#转发web服务
vhost_http_port = 6555
#开启仪表板
dashboard_port = 6556
dashboard_user = admin
dashboard_pwd = admintcp_mux = true
max_pool_count = 10

3.3.2:frp客户端配置

[common]
#服务器ip
server_addr = 121.89.160.28
#服务端与客户端之间通信使用的端口号
server_port = 7000
#与服务端的token必须设置成一致
token = 123456[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000#MySQL数据库
[mysql]
type = tcp
local_ip = 192.168.1.1
local_port = 3306
remote_port = 3306
custom_domains = 121.89.160.28 #你的frp的server的ip#Redis数据库
[redis]
type = tcp
local_ip = 192.168.1.1
local_port = 6379
remote_port = 6379
custom_domains = 121.89.160.28 #你的frp的server的ip或域名#本地服务1
[web1]
type = http
#本地端口 1
local_port = 9090
custom_domains = aa.bb.cn#本地服务2
[web2]
type = http
#本地端口 1
local_port = 9090
custom_domains = web2.xx.xx#本地服务3
[web3]
type = http
#本地端口 1
local_port = 9000
custom_domains = web3.xx.xx#本地服务4 gitlab的传输类型是tcp而非http
[gitlab]
type = tcp
local_ip = 192.168.3.220
local_port = 9980
remote_port = 9980
#custom_domains = 121.89.xx.xx
custom_domains = gitlab.xxx.xxx

这里特别说明下frp下web服务的配置,以web1为例:假设frp服务器所在的ip为121.89.160.28,绑定的域名为 aa.bb.cn,使用Nginx代理转发到121.89.160.28:6555上,则frpc在配置web1时custom_domains必须设置成 aa.bb.cn【要和访问的域名完全一致,不含端口】,否则在输入aa.bb.cn访问时,会报frp给出的404错误。

3.4 启动运行

Linux下启动frps服务端,在frp目录下执行:

nohup ./frps -c ./frps.ini > file.log 2>&1 &

启动后会将日志记录到file.log文件中

windows下启动frpc客户端:

start /b frpc.exe -c D:\LocalServer\frp\frpc.ini

服务端和客户端都启动成功后即可正常使用frp服务了。

附:
Linux下查看正在使用的端口情况:

netstat -tunlp

四、参考文章:

4.1 frp使用不同子域名映射本地的多个服务

4.2 使用FRP作为内网穿透服务

Frp的简单使用总结相关推荐

  1. FRP 内网穿透下载配置

    FRP 内网穿透下载配置 Frp服务的建造 下载: 修改配置文件 frps.ini(服务端)配置文件解释说明: frpc.ini(客户端)配置文件解释说明: 启动服务 配置启动: 创建server端服 ...

  2. 不用向日葵 teamview 利用云服务器部署FRP穿透内网实现控制远程桌面

    不用向日葵 teamview 利用云服务器部署FRP穿透内网实现控制远程桌面 前言 需要的硬软件 需要的设置 服务端的配置 客户端配置 远程连接 设置开机自启 前言 由于工作原因,不可使用向日葵及te ...

  3. frp 后台地址_FRP内网穿透配置教程及配置分享

    前言 随着全球IPv4地址耗尽,新装电信宽带一般也只给分配内网IP,不开放外网IP了,但是随时智能设备的越来越普及,像电脑.NAS.树莓派.摄像头等网络设备需要远程控制时较为麻烦,幸好有大佬开发了这款 ...

  4. 内网穿透------frp配置(服务端客户端配置)超详细的那种~~~

    强调:配置文件中每行代码最后一定不要留空格!!! 配置文件中尽量不要有注释,必须写的话,要用符合的语法写: 分号; 第一步:云服务器上域名解析添加(前提是有域名已经备案) 这里有对应操作截图文件 第二 ...

  5. 玩转黑群晖(持续更新)

    玩转黑群晖(持续更新) 前言 暂时只是简单介绍,看反馈再出详细教程命令行 ​ 首先,先声明一点,我也不是什么大神,只是在自己折腾的路上总结的一些经验罢了,不喜勿喷! 想要玩转的话,你得先有一个黑/白群 ...

  6. 《iOS防护01》ptrace防护

    获取ptrace.h头文件 prace.h是系统的C语言文件. 首先用Xcode创建一个命令行程序 截屏2020-10-29下午5.33.45.png 命令行程序的 mian.m 中导入 ptrace ...

  7. 最简单的FRP内网穿透教程

    1.概述 众所周知,局域网内部机器由于没有公网IP,因此无法被局域网外部的客户端直接访问.FRP就是这样一个用于内网穿透的应用,它需要一台拥有公网IP的服务器作为中转,实现访问内网机器的目的. 首先第 ...

  8. 黑群晖docker清理缓存_黑群晖 NAS 瞎折腾 篇一:超简单的docker设置frp内网穿透

    黑群晖 NAS 瞎折腾 篇一:超简单的docker设置frp内网穿透 2020-04-15 11:32:08 25点赞 241收藏 27评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇 ...

  9. 使用frp配置内网访问(穿透)教程(超详细,简单)

    1 Frp介绍 frp 是一个开源.简洁易用.高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议.frp 项目官网是 https://github.com/fate ...

最新文章

  1. 根据PI/4 = 1 - 1/3 +1/5-1/7+1/9求圆周率
  2. Kyma Application connection url
  3. 使用腾讯开发平台获取QQ用户数据资料
  4. git-下载与安装windows版本与linux版本
  5. SAP中物料成本视图原始组的应用原理分析
  6. python --通过urlretrieve下载MP4文件
  7. 电商分账系统好与坏的3个判断标准
  8. Android 隐藏虚拟按键,并且全屏
  9. 猿辅导python助教面试两次都有什么内容_来还愿!终于收到猿辅导offer了,但是23k*14,手…程序员分享...
  10. 高德尝试用“成本价”推动共享,但高精地图行业不只有价格
  11. XSS靶场level7秘籍
  12. 搜索专题——迷宫寻宝
  13. 锦溪:恬淡如少女的千年古镇
  14. (Modern Family S01E01) Part 11 PhilClair Luke和Phil打篮球 总
  15. php storm unins,poscms应用钩子开发
  16. linux服务器停止步骤,停止和重新启动许可服务器的步骤
  17. 刘华:戏说Docker和K8s,一文让你成为懂王
  18. 域名限制注册有哪些原因?
  19. PNPOLY - Point Inclusion in Polygon W. Randolph Franklin
  20. 生成10位随机数(PHP)

热门文章

  1. 会计设计计算机专业前景,会计、英语、艺术设计、土木工程、计算机5个专业毕业生超10万人...
  2. 安卓 jni 开发错误 UnsatisfiedLinkError: Native method not found
  3. 时间序列回归模型(Forecasting: Principles and practice第六章)
  4. VS2015|Visual Studio Enterprise 2015简体中文版(企业版)
  5. [小游戏] 微信小游戏开发源码_教程_工具_资源最新集合
  6. 机器人砂型铸造_启东精密砂型铸造
  7. 全栈Linux运维-Linux云计算运维与高级架构班课程 全新自动化运维必学课程
  8. 2022 届大四学长实习心得、职场经验分享、转型思考
  9. 2021年汉语高考成绩查询,2021年全国高考成绩查询入口,全国教育局高考成绩查询官网...
  10. heart(js源码)