Traefik 可以使用 Middleware 以及 Network 层来屏蔽特定的 IP 段。下面是具体实现方法:
- 使用 Middleware
在 Docker Compose 的 Traefik service 中添加以下配置:
labels:
- "traefik.http.middlewares.blockip.ipwhitelist.source=[your_allowed_ip_addresses]"
- "traefik.http.middlewares.blockip.ipwhitelist.useXForwardedFor=false"
其中,[your_allowed_ip_addresses]
是你允许的 IP 段地址,多个地址使用逗号 ,
分隔。启用此配置后,Traefik 会使用 Middleware 过滤进入的请求 IP 地址,如果 IP 地址不在 [your_allowed_ip_addresses]
范围内,Traefik 会阻止该请求。
- 使用 Network 层
在 Docker Compose 的 Traefik service 中添加以下配置:
networks:
external:
ipam:
config:
- subnet: [your_allowed_ip_subnet]
其中,[your_allowed_ip_subnet]
是你允许的 IP 子网地址,比如 192.168.0.0/24
。启用此配置后,Traefik 会限制只接受来自 [your_allowed_ip_subnet]
子网的请求。如果请求来自其他子网,则会被阻止。