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

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

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

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

相关推荐
熙曦Sakura4 小时前
【Linux】基础开发工具
linux·运维·服务器
小南家的青蛙8 小时前
Linux的网络配置的资料
linux·运维·网络
HinsCoder9 小时前
使用SSH解决在IDEA中Push出现403的问题
运维·笔记·git·ssh·github·intellij-idea
GalaxyPokemon12 小时前
LINUX基础 [二] - Linux常见指令
linux·运维·服务器
问道飞鱼13 小时前
【linux知识】web服务环境搭建(一):用户以及开发环境初始化
linux·运维·服务器
CAE虚拟与现实13 小时前
WSL2安装多个版本的Ubuntu
linux·运维·ubuntu·wsl·wsl2
__Smile°13 小时前
修改 docker 工作目录
运维·docker·容器
_丿丨丨_14 小时前
linux下的目录文件管理和基本文件管理的基本操作
linux·运维·服务器
JovaZou14 小时前
n8n 本地部署及实践应用,实现零成本自动化运营 Telegram 频道(保证好使)
运维·人工智能·docker·ai·自然语言处理·自动化·llama
邹卓为15 小时前
Jenkins 发送钉钉消息
运维·jenkins·钉钉