🦁

Traefikを使って自宅サーバーのLoadBalancerを作って各サーバーに振り分ける為の設定例 2024年度版

2024/02/24に公開

目的

自宅サーバーの構成

ONU -> Gateway -> DMZ(Traefik) -> 各サービスのサーバー

ここではminioをサービスとして公開してみる

  • traefikのバージョンは3.0.0
  • http://192.168.0.43:9080/ はminioのローカルサーバーアドレス
  • your.domain.comはあなたのドメイン

balance.yml

http:
  routers:
    minio:
      #entrypoints: web
      rule: "Host(`your.domain.com`)"
      tls:
        certResolver: myresolver
      service: minio
  services:
    minio:
      loadBalancer:
        passHostHeader: true
        servers:
          - url: "http://192.168.0.43:9080/"


traefik.yml

global:
  checkNewVersion: true
  sendAnonymousUsage: true

entryPoints:
  web:
    address: ':80'
  websecure:
    address: ':443'

api:
  insecure: true
  dashboard: true

providers:
  file:
    filename: "./balance.yml"

log:
  filePath: "./traefik.log"
  level: INFO


certificatesResolvers:
  myresolver:
    acme:
      email: 'yourname@your.domain.com'
      storage: './letsencrypt/acme.json'
#      httpChallenge:
#        entryPoint: web
      tlsChallenge: {}
#      caserver: 'https://acme-staging-v02.api.letsencrypt.org/directory'

/root/traefik がtraefikのバイナリだとすると
/root/traefikを実行すればtraefikが実行される。
ディレクトリ構成は

/root/traefik
      traefik.yml
      balance.yml

your.domain.comにアクセスしてminioのコントロールパネルにたどり着けたらOK

Discussion