使用frp内网穿透+宝塔面板实现外网无缝访问内网网站
|网络上有很多关于FRP的文章,有一些信息不齐全,或者过时了。所以忍痛自己整了一篇。遇到各种问题。也是自己摸索着解决了。
首先就是FRP的安装,现在你的外网服务器上进行安装frp
1.安装frp
首先是从官网上下载,地址是:https://github.com/fatedier/frp/releases
下载之后,解压文件
tar -zxvf frp_0.53.0_linux_amd64.tar.gz
注:服务器和pc都是安装这个,只是用的配置文件不同。(网速慢下载不了的上面有,仅供64位系统)
二.配置服务端(服务器)
进入文件夹:
cd frp_0.32.1_linux_amd64
1
编辑配置文件:
vi ./frps.ini
1
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口
vhost_http_port = 6081 #访问客户端web服务自定义的端口号
保存然后启动服务
./frps -c ./frps.toml
后台启动命令为
nohup ./frps -c ./frps
外网的配置比较简单
[common]
bindAddr = "0.0.0.0"
bindPort = 15443
transport.maxPoolCount = 5
kcpBindPort = 15443
webServer.addr = "127.0.0.1"
webServer.port = 16443
webServer.user = "admin"
webServer.password = "Omxxxxxxx"
vhostHTTPPort = 80
vhostHTTPSPort = 443
log_file = /var/log/frps.log
log_level = info
log_max_days = 30
auth.method = "token"
auth.token = "12345678"
如果启动时有端口被占用,可以查看端口号
netstat -anp|grep 7000
或
lsof -i:7000
或
查看程序进程
ps -ef|grep frps
得到进程id(pid)之后,杀掉进程
kill -9 [PID]
宝塔面板建站
内网的配置比较麻烦,但是还是需要注意
serverAddr = "your frps uip"
serverPort = 15443
auth.token = "xxxxxx"
log.to = "./frps.log"
log.level = "info"
log_max_days = 30
# 设置管理员地址,通过 http API 控制 frpc 的操作,例如重新加载
webServer.addr = "0.0.0.0"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "xxxxxx"
webServer.pprofEnable = false
[[proxies]]
name = "plugin_http2https"
type = "http"
localIP = "127.0.0.1"
localPort = 80
customDomains = ["m.aibaolei.com"]
[proxies.plugin]
type = "http2https"
localAddr = "127.0.0.1:443"
hostHeaderRewrite = "127.0.0.1"
requestHeaders.set.x-from-where = "frp"
先新建一个网站,可以后续添加你需要使用的域名
我添加的是
*.frp.your.com
,方便我在本地的实时穿透,不用打开面板,也方便分享给朋友一起使用
添加一个反向代理,名称随意