windows 部署 traefik 反向代理

windows 部署 traefik 反向代理

 1. 下载 traefik :  https://github.com/traefik/traefik/releases

 

 

 

 

文件下载并解压后: 

 

 

 

解压后traefik目录下包括traefik.exe文件,在该目录下建立两个文件分别为traefik.toml和traefik-dynamic.toml,文件内容如下:
traefik.toml

[log]
  level = "DEBUG"
  filePath = "log-file.log"

[accessLog]
  filePath =  "log-access.log"
  bufferingSize =  100

[providers]
  [providers.file]
    filename = "traefik-dynamic.toml"

[api]
  dashboard = true
  debug = true

[entryPoints]
  [entryPoints.web]
    address = ":80"
  [entryPoints.web-secure]
    address = ":443"
  [entryPoints.dashboard]
    address = ":8080"

[certificatesResolvers.sample.acme]
  email = "myemail@example.com"
  storage = "acme.json"

  [certificatesResolvers.sample.acme.httpChallenge]
    # used during the challenge
    entryPoint = "web"

 

 

 

traefik-dynamic.toml

[http]
    # Redirect to https
    [http.middlewares]
      [http.middlewares.test-redirectscheme.redirectScheme]
        scheme = "https"

    [http.routers]
       [http.routers.router-1]
          rule = "Host(`www.zhizhicloud.com`)"
          service = "console"
          entryPoints = ["web-secure"]
       [http.routers.router-2]
          rule = "Host(`www.zhizhicloud.com`) && PathPrefix(`/huhehaote/yxhk/`)"
          service = "huhehaote"
          entryPoints = ["web"]
           [http.routers.router-3]
          rule = "Host(`cdeserver.railplus.com`)"
          service = "cdeserver"
          entryPoints = ["web"]
       [http.routers.router-1.tls]
          certResolver = "sample"
    [http.services]
          [http.services.console.loadbalancer]
            [[http.services.console.loadbalancer.servers]]
              url = "http://127.0.0.1:11778"
          [http.services.huhehaote.loadbalancer]
            [[http.services.huhehaote.loadbalancer.servers]]
              url = "http://127.0.0.1:8000/huhehaote/yxhk/"
          [http.services.cdeserver.loadbalancer]
            [[http.services.cdeserver.loadbalancer.servers]]
              url = "http://localhost:8092"

    [http.routers.my-api]
      rule = "Host(`traefik.zhizhicloud.com`)"
      entrypoints = ["web", "web-secure"]
      service = "api@internal"
      middlewares = ["auth"]

    [http.middlewares.auth.basicAuth]
      users = [
        "test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/",
      ]

 

traefik-dynamic.toml文件中的www.zhizhicloud.comtraefik.zhizhicloud.com域名需要指向本机地址。

在hosts文件中配置: 

127.0.0.1 www.zhizhicloud.com
127.0.0.1 traefik.zhizhicloud.com
127.0.0.1 cdeserver.railplus.com

 

 启动服务 反向代理服务

windows powershell 进入 treafik 目录,在 treafik目录下执行 traefik.exe 

 

 

 

通过访问 http://traefik.zhizhicloud.com/dashboard/#/ 可以访问到traefik的dashboard页面如下:

 登录的账号与密码都是 test

 

 

 

 

www.zhizhicloud.com域名反向到127.0.0.1:11778地址及端口。
www.zhizhicloud.com/huhehaote/yxhk/反向到http://127.0.0.1:8000/huhehaote/yxhk/地址。
这样通过traefik实现了基本的域名及路由地址到指定地址端口的反向代理。
总结:
正向代理就是本机访问外部服务配置代理转向,反向代理就是外部(如互联网手机端)通过域名或IP访问本地服务所需代理解析。本文只用traefik 2配置域名反向代理访问本机服务,正向代理配置基本相同不赘述。

 

 

 

 

  

 

 

 

参考: https://www.jianshu.com/p/007252b709c3

 

posted @ 2022-09-19 16:30  无心々菜  阅读(1033)  评论(0编辑  收藏  举报