frps端:

[common]
bind_addr = 0.0.0.0
#bind_port frp链接的端口  首先必须在安全组开放端口,其次,访问时 客户端要和服务端一致
bind_port = 7000
#vhost_http_port  :是自定义的 与客户端无关  如果定义为8000,首先必须在安全组开放端口,其次,访问时 要加端口8000  ,80默认不写
vhost_http_port = 9092
dashboard_port = 7500
dashboard_pwd = admin
tcp_mux=true
max_pool_count=10

[web01]
type = stcp  #协议
auth_token = admin #默认admin
custom_domains = sz1.lysxrj.com   #frps服务器解析的域名


[web02]
type = stcp  #协议
auth_token = admin #默认admin
custom_domains = sz2.lysxrj.com   #frps服务器解析的域名

frpc端,这里测试的是本地redis映射到外网,所以frpc安装在我本地

# [common] is integral section
[common]
# A literal address or host name for IPv6 must be enclosed
# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
#要和frps    ip保持一致
server_addr = 123.56.179.131
#frps的链接端口7000
server_port = 7000

# Resolve your domain names to [server_addr] so you can use http://web01.yourdomain.com to browse web01 and http://web02.yourdomain.com to browse web02
[web02]
type = tcp   #协议
local_ip = 127.0.0.1 #本地redis ip
local_port = 6380  #本地redis  端口
remote_port = 16380 #暴露给外网的端口  
custom_domains = sz2.lysxrj.com  #frps服务解析的域名


#可以配置多个 web0XX......  域名区分
#经过测试,域名可以用同一个,端口不一样就可以
#这里还有一个坑,虽然16380是配置在客户端 frpc所在服务器的,但是,如果frps端所在服务器没有开放16380,是无法穿透成功的

个人理解是,内网穿透redis访问16380时,通过域名找到[web01] [web02](域名相同的情况下),通过端口确定是[web02],接着穿透到16380  frpc所在服务器

如果不同域名,根据域名就直接可以确定往哪一台frpc所在服务器穿透请求

windows 启动服务:

frps.exe -c frps_full.ini ,可以写成脚本

linux启动服务:

./frps -c frps.ini   (这里注意,千万别弄错了,还有一个frps_full.ini是windows用的)

windows启动客户端:

frpc.exe -c frpc_full.ini ,可以写成脚本

linux启动客户端:

./frpc -c frpc.ini   (这里注意,千万别弄错了,还有一个frpc_full.ini是windows用的)

在linux里 ./frp..启动默认是前台运行,关闭窗口服务就关了,所以改为

nohup ./frps -c frps.ini

nohup ./frpc -c frpc.ini 

这样启动,是后台运行。问题来了,前台运行关闭,只需要ctrl+c,那nohup运行起来,如何关闭重启呢?

1.先找到这个进程

ps -aux|grep frp| grep -v grep

2.kill -9 pid杀死进程 

3.nohup ./frp....

可以写成sh脚本

-----------------------------------

用到现在,总结一下frp的穿透原理:

客户端通过 [web01] [web02] 向服务端frps进行连接

服务端访问时

GitHub 加速计划 / fr / frp
83.04 K
13 K
下载
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
最近提交(Master分支:3 个月前 )
4383756f 7 天前
6ba849fc 15 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐