前言
Traefik是一个云原生的新型的HTTP反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (Docker、 Swarm、Mesos/Marathon、 Consul、Etcd、 Zookeeper、BoltDB、 Rest API、file…) , 可以对配置进行自动化、动态的管理。
Traefik支持Docker一键部署,内置Web UI,管理相对方便,下面介绍Linux本地Docker一键部署 Traefik+cpolar内网穿透工具实现远程访问Traefik Web UI 管理界面。
1. Docker部署Traefik
在任意目录,创建一个名称为 docker-compose.yml
文件
vim docker-compose.yml
把下面参数复制进去,本例主要目的是演示如何远程访问Traefik Dashboard界面,如果需要更复杂的配置,可以参考官方文档进行详细参数配置。
version: "3"
services:
traefik:
image: traefik:v3.0.0-beta3
ports:
- 8080:8080
command: "--api=true --api.dashboard=true --api.insecure=true"
tips: 上面参数挂载到宿主机8080端口,如需修改其他端口,可以自行修改,这里默认使用8080。
输入完成后,保存配置文件,然后执行docker compose up
,进行部署,如果卡在上述界面,可以先Ctrl+C
退出,然后输入docker ps -a
查询出Traefik容器ID,然后使用docker start 容器ID
命令启动即可。
启动成功后,输入docker ps
命令即可看到运行的Traefik容器。
2. 本地访问Traefik测试
本地部署完成后,我们在局域网设备中通过局域网方式访问Linux 8080端口,即可看到Traefik deshboard界面, 本地访问就成功了,下面安装cpolar内网穿透工具,实现外网远程访问。
3. Linux安装cpolar
上面在本地Linux中成功部署了Traefik,并局域网访问ok,下面我们在Linux安装cpolar内网穿透工具,通过cpolar转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器,可节约大量资金。下面是安装cpolar的步骤:
cpolar官网地址: https://www.cpolar.com
- 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
cpolar安装成功后,在外部浏览器上访问Linux的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar Web配置界面,接下来在Web管理界面配置即可。
4. 配置Traefik公网访问地址
点击左侧仪表盘的隧道管理——创建隧道,创建一个Traefik的cpolar公网地址隧道。
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择http
- 本地地址:8080 (局域网访问的端口)
- 域名类型:免费选择随机域名
- 地区:选择China
点击创建
。
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http和https
5. 公网远程访问Traefik
使用上面的cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Traefik dashboard界面,这样一个公网地址且可以远程访问的隧道就创建好了。使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问,可以节省大量的资金。后续Traefik设置方法,可以参考官方文档进行学习。
6. 固定Traefik的公网地址
为了更好地演示,我们在前述过程中使用cpolar生成的隧道,其公网地址是随机生成的。
这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址会在24小时内发生随机变化,更适合于临时使用。
我们一般会使用固定的二级子域名,原因是我们希望将网址发送给领导、客户或同事时,它是一个固定的、容易记忆的、更专业的公网地址(例如:traefik.cpolar.cn),这样与(3ad5da5.r10.cpolar.top)相比更显正式,便于交流协作。
登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。
保留成功后复制保留成功的二级子域名的名称。
返回登录cpolar Web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中。
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
点击更新
(注意,点击一次更新即可,不需要重复提交)。
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名。
最后,我们使用固定的公网地址访问,可以看到访问成功。这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问Traefik界面,提高工作效率!!
小结
利用cpolar内网穿透软件,可以解决外网不可以访问内网资源的问题,让你轻松分享内网资源。并且cpolar基础套餐及以上的软件版本都带有固定二级子域名功能,这样就可以让你分享的网址更易记忆、也更加专业,可以让使用者更方便、快捷的与你同享内网资源。