惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
I
InfoQ
Jina AI
Jina AI
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
量子位
月光博客
月光博客
罗磊的独立博客
雷峰网
雷峰网
The Cloudflare Blog
V
V2EX
小众软件
小众软件
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题

博客园 - Morya

不当心升级到 redis 7.4 怎么回到 valkey8 使用 cert-manager 为 traefik 自动申请和续约 https 证书 k8s 1.28 安装配置 knative-serving v1.15.2 + cert-manager v1.16.1 ssh端口映射玩法 golang echo group 用法的微妙注意点 使用docker最小化部署Git CI环境 使用mailpopbox构建个人独享EmailServer Influx cli cheetsheet 通过php docker快速验证简单代码 通过k8s service代理外部服务 run gitlab-runner in k8s K8S配置traefik ingressroutes支持TLS ucloud k8s部署traefik的forward-auth 使用nginx构建限频、限速、限并发的应用保护层 macos 更改罗技k810无线键盘的映射 - Morya - 博客园 C++11 thread condition_variable mutex 综合使用 goland scope pattern 设置 Go 1.11 Module 介绍 - Morya hustOJ 添加 golang 支持
traefik学习
Morya · 2025-03-15 · via 博客园 - Morya

traefik 是一个反向代理工具。

什么是反向代理?

什么是正向代理:你在一家大公司,想用你电脑想访问网络,没直接,所有员工统一都通过一台电脑访问互联网,这个设备,就是正向代理。

怎么用?

traefik 可以快速配置,并投入使用。

traefik的配置,分为2个部分。

  • 静态配置:一次配置后,必须重启才能生效
  • 动态配置:程序启动后,实时读取,实时加载,实时生效

traefik 的配置又可以通过很多途径来加载。

  • 通过命令行参数指定
  • 通过配置文件指定
  • 通过告知traefik位置,让它动态读取和加载生效(仅限动态配置)

最简单的方式:

./traefik --configfile=/etc/traefik/traefik.yaml

稍微高阶一些的玩法

./traefik --api.insecure=true --providers.file.directory=./myconfigs --providers.file.directory.watch=true

再方便一些的方式:

直接通过docker启动和使用traefik

docker run -it --name treafik -p 80:80 -p 443:443  traefik:v3.3.4 treafik --entryPoints.web.address=:80 --entryPoints.websecure.address=:443

直接通过 docker-compose 配置文件启动

version: "3.3"

services:

  traefik:
    image: "traefik:v3.3"
    container_name: "traefik"
    command:
      #- "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entryPoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  whoami:
    image: "traefik/whoami"
    container_name: "simple-service"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
      - "traefik.http.routers.whoami.entrypoints=web"