静态配置

# 流量入口
entryPoints:
  mysql:
    address: :3307
  web:
    address: :80

# 动态配置
providers:
  file:
    filename: gateway/dynamic_conf.yml

# 工作日志
log:
  filePath: gateway/log/traefik.log

# 访问日志
accessLog:
  filePath: gateway/log/access.log
  # 保留在内存中的日志行数
  bufferingSize: 100
  fields:
    names:
      # 设置本地时区,不然默认是0时区时间输出
      StartLocal: keep
      StartUTC: drop

api:
  # false为启用安全访问
  insecure: false

动态配置

tcp:
  routers:
    mysql:
      rule: "HostSNI(`*`)"
      service: mysql
      entryPoints:
        - mysql

  services:
    mysql:
      loadBalancer:
        servers:
          - address: localhost:3306

http:
  routers:
    # traefik 内置web仪表盘
    dashboard:
      rule: "(PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
      # 内部api服务
      service: api@internal
      # 使用中间件,auth安全访问
      middlewares:
        - auth
      entryPoints:
        - web

  middlewares:
    # 定义一个中间件,任意起名
    # 用户认证
    auth:
      # 使用官方的中间件
      basicAuth:
        usersFile: gateway/auth

auth文件(使用htpasswd生成密码)

用户test,密码123456

test:$apr1$yjHwJ6kr$szcYpC.dwpayQYlZu4N5d1

配置完毕,就可以使用链接访问

root:123456@tcp(localhost:3307)/数据库名?charset=utf8&parseTime=True&loc=Local

 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐