docker+frp 打通开发内网环境到公网进行测试 o( ̄▽ ̄)d
1.docker 部署流程:
参考华为云:手动部署docker
2.docker安装好之后进行frp
的服务器端frps
部署:
镜像的话可以使用下面这个博主的镜像:
基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)_frp docker-CSDN博客
或者去官网下载文件后自己做个docker镜像:
官网链接:frp官网
3.frps.toml
配置文件
不要问为什么不用.ini文件,因为官网说最新最好使用toml/yaml...,虽然ini可能还可以跑,但是后续版本是不支持的了
可以在服务器上自定义的位置创建frps工作目录,我的话就选择srv
这个文件夹下进行创建
bash
#创建目录
mkdir /srv/frps
#创建配置文件
touch frps.toml
我的简单配置内容如下,更为复杂、功能更强的配置就只要大家慢慢去官网琢磨啦:
bash
#<xxxx>部分替换为你的配置
#eg:serverAddr = "<你的frps主机公网ip>" ==> serverAddr = "0.0.0.0"
bindPort = 7000
#如果是穿透内网web的http/https服务要补充
#这是http
#vhostHTTPPort = <可以自定义端口>
#这是https
#vhostHTTPSPort = <可以自定义端口>
auth.method = "token"
auth.token = "<你的自定义token>"
# 服务端控制面板 0.0.0.0默认为服务器公网ip
webServer.addr = "0.0.0.0"
# 访问控制面板的端口号,当然可以自定义哦
webServer.port = 7500
# 密码
webServer.user = "admin"
webServer.password = "123456"
注意:使用了端口,记得云服务器的话配置安全组规则或者防火墙指令配置打开对应端口,这个就大家自己去搜索了
4.执行docker中frps服务
bash
docker run --name frps \
--restart always \
--network host -e TZ=Asia/shanghai -v /srv/frps:/etc/frps -d fatedier/frps:v0.61.2 -c /etc/frps/frps.toml
运行后可以使用docker ps
查看是否运行成功,也可使用ss -tulnp
或者netstat -tulnp
去查看对应的端口是否启用:
运行失败就docker logs frps
去查看问题吧
然后可以使用公网ip:7500(用文件中配置的端口)去访问fprs的控制面板了
5.内网设备frpc
配置:
这个地方使用docker进行frpc启动的流程和frps服务器端差不多,也可以根据之前的链接去找博主的frpc镜像,重点其实还是配置文件,客官请看下面流程:
由于我是为了做H5开发所以需要内网穿透的设备是windows11
为此先去官网下载对应的压缩包,随便在哪个位置解压,得到以下内容:
编辑frpc客户端的配置文件frpc.toml
,牢弟们记得按需配置:
bash
#<xxxx>部分替换为你的配置
#eg:serverAddr = "<你的frps主机公网ip>" ==> serverAddr = "0.0.0.0"
serverAddr = "<你的frps主机公网ip>"
serverPort = 7000
auth.method = "token"
auth.token = "<frps的token>"
#官方给的模版,但是我不用ssh所以注释掉了
#[ssh]
#name = "test-tcp"
#type = "tcp"
#localIP = "127.0.0.1"
#localPort = 22
#remotePort = 6000
#proxies是一个数组,用于定义多个代理配置。
[[proxies]]
name = "<你的自定义标识,必须唯一>"
#因为是web网页所以用http
type = "http"
localIP = "127.0.0.1"
#这个是你内网本地服务运行的端口,按照需求来
localPort = 5173
#http服务还是需要域名的
customDomains = ["<你的域名>"]
配置好了之后,windows的话执行下面指令就能跑啦,如果没问题的话,有问题控制台会报错,然后对应去官网教程找问题就行啦:
bash
cd <frpc解压路径>
#运行指令
frpc.exe -c frpc.toml
然后尝试访问成功了。
上述frp中个配置文件中参数可以参考官网:通过自定义域名访问内网的 Web 服务 | frp
或者这篇文章:使用FRP搭建内网穿透web服务_frp web-CSDN博客
附一些文章中用到的linux和windows指令:
bash
#linux
vi /<frps.toml文件路径> #进入编辑配置文件 进入后按a编辑,esc退出编辑状态后输入:wq保存并退出 :q直接退出
cat /<frps.toml文件路径> #查看配置文件
docker pull <镜像>
docker image ls #查看镜像 加-a 查看所有镜像
docker container ls #查看运行容器 加-a 查看所有容器(报错没运行的)
docker run <...你的运行配置>
docker ps #查看运行的容器
docker restart <容器id或者容器名> #重启容器
#windows11
frpc verify -c frpc.toml #检查配置文件是否有问题
frpc.exe -c frpc.toml #运行frpc
文章到此结束,因为是个前端小白,写的有不好的地方或者有描述不清楚的地方请见谅,也欢迎大家在评论提出我的问题。
同时感谢引用的几篇文章大佬的详细指导。