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

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

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

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

相关推荐
姚不倒4 分钟前
Keepalived 系列(二):生产最佳实践与面试考点
运维·keepalived·haproxy
pt10435 分钟前
网络自动化Python课程:利用Cisco NSO编排网络服务
运维·网络·自动化
tedcloud12310 分钟前
OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具
linux·运维·服务器·开发语言·后端·rust·开源
七夜zippoe1 小时前
DolphinDB 运维工具实战:自动化脚本体系设计与落地(2.0.x)
运维·dolphindb·自动化脚本·体系设计·体系落地
玉&心1 小时前
在Docker中部署前端和后端的实现
运维·docker·容器
wdfk_prog1 小时前
Docker 常用语法与命令:CLI、Dockerfile 与 Compose 速查
运维·docker·容器
skywalk81632 小时前
通过下载Ubuntu ova文件在Virtual Box快速安装ubuntu
linux·运维·ubuntu·virtualbox
姚不倒2 小时前
HAProxy 系列(四):多中间件统一 VIP 入口 — 架构模式与最佳实践
运维·中间件·架构·haproxy
happymade2 小时前
7000 台网络设备批量纳管 & 自动拓扑生成实战——MSRM3 完整操作流程与关键要点复盘
运维·服务器·网络·zabbix·grafana·msrm3
做萤石二次开发的哈哈2 小时前
萤石蓝海 AIoT 一站式工作台:海康LCD会议平板接入,多端大屏运维应用一站生成
运维·物联网·电脑·萤石开放平台·会议室管理·蓝海aiot一站式工作台·otap物模型