赞
踩
frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。在生产过程中,可以结合nginx代理到frp,再统一穿透到本地测试环境,在内网可以再次借助nginx,实现复杂的外网访问。
https://github.com/fatedier/frp/releases
使用命令,查看Architecture信息,其中x86_64
,选择amd64
的
lscpu
如果没有安装systemd
yum install systemd
frpc
复制到内网服务所在的机器
上。我选择的目录是/opt/frp
frps
复制到拥有公网 IP 地址的机器上
,并将它们放在任意目录。同样的,这里使用/opt/frp
这个目录创建文件
vi /etc/systemd/system/frps.service
编辑内容
[Unit]
# 服务名称,可自定义
Description = frps
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
ExecStart = /opt/frp/frps -c /opt/frp/frps.toml
[Install]
WantedBy = multi-user.target
加入开机自启
systemctl enable frps
启动
systemctl start frps
创建文件
vi /etc/systemd/system/frpc.service
编辑内容
[Unit]
# 服务名称,可自定义
Description = frpc
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
ExecStart = /opt/frp/frpc -c /opt/frp/frpc.toml
[Install]
WantedBy = multi-user.target
加入开机自启
systemctl enable frpc
启动
systemctl start frpc
编辑文件frps.toml
# 服务端监听端口,内网的机器连接本服务器的端口 bindPort = 18080 # http类型的代理监听端口,即nginx转发的目标端口,或外网直接以域名+本端口的方式访问,tcp不用此项 vhostHTTPPort = 6081 # https类型的代理监听端口,即nginx转发的目标端口,或外网直接以域名+本端口的方式访问 # vhostHTTPSPort = 6082 # http类型的代理超时时间 vhostHTTPTimeout = 60 # 采用token的方式鉴权 auth.token = ycmXaFJkWNxxmujzdiFoIluwRGANulPK # 定义日志文件位置 log.to = /var/log/frps.log # 定义日志文件级别 log.level = info # 定义日志文件保留天数 log.maxDays = 3
编辑文件frpc.toml
[common] server_addr = 47.108.206.147 server_port = 18080 log_file = /var/log/frp.log log_level = debug token = SzvM#3LsV1U5ZY!DTZFMlstJyY%AtqSeKytIp7@N#6HlxD@5vpeZxDX%gruoJIbH # 监听的公网服务器IP serverAddr = "x.x.x.x" # 监听的公网服务器端口 serverPort = 18080 # 采用token的方式鉴权 auth.token = ycmXaFJkWNxxmujzdiFoIluwRGANulPK # 定义日志文件位置 log.to = /var/log/frpc.log # 定义日志文件级别 log.level = info # 定义日志文件保留天数 log.maxDays = 3 # 模块,模块可以同时有多个 [[proxies]] # tcp代理,这里的意思是将x.x.x.x的6000端口代理到127.0.0.1的22端口上 name = "ssh" # 代理类型,可选值为 tcp, udp, http, https, tcpmux, stcp, sudp, xtcp。 type = "tcp" # 被代理的本地服务 IP,默认为 127.0.0.1 localIP = "127.0.0.1" # 被代理的内网服务端口。 localPort = 22 # 公网服务端口 remotePort = 6000 # web代理,将下列域名的6081端口代理到127.0.0.1的80端口 [[proxies]] name = "web" type = "http" localPort = 80 # 被代理的本地服务 IP,默认为 127.0.0.1 localIP = "127.0.0.1" customDomains = ["www.yourdomain.com","*.yourdomain.com"]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。