前言:
之前我写了traefik的安装篇,现在我在把配置方法写给大家,本人也才玩了两天,尽量正确引导大家玩耍,如有问题请留言!
更新日志:
2021年2月25日 增加多个服务器对动态文件的配置说明
教程:
在教程开始前,我们需要先做一下小说明,通过第一步的教程把traefik,安装到系统上之后,我们需要把域名解析到traefik的服务器IP上,traefik的管理也需要通过域名进行访问。
traefik有两种与后面服务器通讯的方法,label 和写动态文件,下面我会针对这两种链接方式进说明,以下内容label称呼为标签!
在开始前,我们要查看被反向代理的网络模式和情况:
其他非本机被代理目标: | 写动态配置文件 |
本机docker Bridge网络模式: | 使用标签/动态配置文件 |
本机docker Host网络模式: | 写动态配置问件 |
以上三种情况,可以适当修改,如本机的docker可以适当切换容器的网络模式 Host Bridge都可以,只要做到与Trarfik的容器在一个网络中即可!
第一种方式:label(标签)
此方法,有个前提必须与Traefik的容器在同一个网络!
在被代理的容器编辑三个 标签,之后Traefik 就会自动发现被代理的容器!
key | Value |
traefik.enable | true |
traefik.http.routers.mycontainer.rule | Host(`whoami.example.com`) |
traefik.http.services.mycontainer.loadbalancer.server.port | 8123 |
依次添加标签,到被代理的容器内,里面有内容是需要修改的!
mycontainer修改为,自己的服务器的名字,比如kodbox,或者qbitorrent 自定义喜欢的也可以只要不重复即可!
whoami.example.com:修改为你的域名,示例:baidu.com www.baidu.com
8123:这个好理解,就是端口,这里需要注意此端口不是你访问的端口,是容器bridge之前的端口,没有nat之前的,这里我提供个查找的方法:
APPLY之后,就可以在traefik的界面上看得到刚才配置的内容了!
第一种,这里只是简单介绍,还可以通过标签的方式,可以添加中间件,这里描述简单的链接,其他的请查看官方文档
第二种:fileprovider (写动态配置文件)
如果是通过我的上一个教程搭建的traefik,默认的动态文件在/mnt/user/appdata/traefik/configurations/dynamic.yml http: routers: passwd: 程序的名字 service: passwd 服务的名字 middlewares: 中间件本示例中并不包含 rule: "Host(`passwd.rsg.plus`)" 括号内的域名换成你自己的记得修改的时候保留'' services: passwd: 此处的名字要和上面service:后面的一样 loadBalancer: servers: - url: "http://192.168.1.3:8899" 被代理服务器的地址,注意需要http middlewares: 中间件部分 secureHeaders: headers: sslRedirect: true forceSTSHeader: true stsIncludeSubdomains: true stsPreload: true stsSeconds: 31536000 bw-stripPrefix: stripPrefix: prefixes: - "/notifications/hub" forceSlash: false
上面是义端示例配置介绍!
保存之后,就可以在traefik的主界面看得到添加好的反向代理了!
更新内容:
如果多个服务器需要反向代理,无需在创建多个动态文件,只需要在原有的ruters 和 services 内添加内容即可,不会的配置的看下面的演示
http: routers: 1-server: service: 1 middlewares: rule: "Host(`1.xxx.com`)" 2-server: service: 2 middlewares: rule: "Host(`2.xxx.com`)" services: 1: loadBalancer: servers: - url: "http://192.168.1.53:80" 2: loadBalancer: servers: - url: "http://192.168.1.54:80"
结尾:
大家在配置的时候,尤其是在写配置文件的时候,千万记得要看自己和缩进,写动态配置,要求要比写标签难一点,写标签的错误率更低,这里随大家喜欢使用两种方式!
如有问题可以在下面留言,或者在QQ群里与我交流!
请登录后查看评论内容