docker+frp 打通开发内网环境到公网进行测试 o( ̄▽ ̄)d

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

文章到此结束,因为是个前端小白,写的有不好的地方或者有描述不清楚的地方请见谅,也欢迎大家在评论提出我的问题。

同时感谢引用的几篇文章大佬的详细指导。

最后还是说:书山有路勤为径,学海无涯苦作舟。

相关推荐
七夜zippoe10 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Fcy64811 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满11 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠11 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey90312 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技13 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀13 小时前
Linux环境变量
linux·运维·服务器
zzzsde13 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º15 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~15 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化