becker / traefik-http-provider
用于生成 Traefik 的 HTTP 提供器的库
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-22 14:24:58 UTC
README
此包旨在提供 Traefik 的易于使用的 HTTP 提供器。
HTTP 提供器可以设置为增量更新。
在 docker-compose 文件夹中有一个示例配置,其中包含一个 5 秒更新间隔的自包含设置。只要配置是有效的 JSON,就应该每 5 秒更新一次。
使用此包,配置将输出 Traefik 可读取的有效 JSON。
HTTP
服务
https://doc.traefik.io/traefik/routing/services/
将 Http 服务添加到配置 $config->setHttpService( <my-service>, <backend-url>);
返回的是 HttpService 类,\Traefik\Http\Service
使用 addServer( <backend-url> ) 可以添加更多后端 URL。
路由器
https://doc.traefik.io/traefik/routing/routers/
将 Http 路由器添加到配置 $config->setHttpRouter( <my-router>, <rule>, <my-service> )
使用数组添加入口点 ->setEntryPoints( [ <my-entrypoint> ] )
使用数组添加中间件 ->setMiddlewares( [ <my-middleware> ] )
添加 TLS 以启用 SSL ->setTls(true)
中间件
https://doc.traefik.io/traefik/middlewares/overview/
将 Http 中间件添加到配置 $config->addMiddleWare( <my-middleware>, <MiddlewareConfigInterface> )
可能的类
\Traefik\Middleware\Config\AddPrefix\Traefik\Middleware\Config\BasicAuth\Traefik\Middleware\Config\Buffering\Traefik\Middleware\Config\Chain\Traefik\Middleware\Config\CircuitBreaker\Traefik\Middleware\Config\Compress\Traefik\Middleware\Config\DigestAuth\Traefik\Middleware\Config\ErrorPage\Traefik\Middleware\Config\ForwardAuth\Traefik\Middleware\Config\Headers\Traefik\Middleware\Config\InFlightReq\Traefik\Middleware\Config\IpWhiteList\Traefik\Middleware\Config\PassTLSClientCert\Traefik\Middleware\Config\RateLimit\Traefik\Middleware\Config\RedirectRegex\Traefik\Middleware\Config\RedirectScheme\Traefik\Middleware\Config\ReplacePath\Traefik\Middleware\Config\ReplacePathRegex\Traefik\Middleware\Config\Retry\Traefik\Middleware\Config\StripPrefix\Traefik\Middleware\Config\StripPrefixRegex
Tcp
服务
https://doc.traefik.io/traefik/routing/services/#configuring-tcp-services
$config->setTcpService( <my-service>, <backend-url>)
路由器
https://doc.traefik.io/traefik/routing/routers/#configuring-tcp-routers
$config->setTcpRouter( <my-tcp-router>, <rule>, <my-tcp-service> ) ->setEntryPoints( [ <my-entrypoint> ] ) ->setTls(true)
Udp
服务
https://doc.traefik.io/traefik/routing/services/#configuring-udp-services
$config->setUpdService( <my-service>, <backend-url>)
路由器
https://doc.traefik.io/traefik/routing/routers/#configuring-udp-routers
$config->setUdpRouter( <my-udp-router>, <rule>, <my-udp-service> ) ->setEntryPoints( [ <my-entrypoint> ] ) ->setTls(true)
返回配置
echo $config->getJsonConfig()
待办事项
支持
- 根 TLS 设置 https://doc.traefik.io/traefik/https/tls/
- 完整 Http 路由器 TLS 设置 https://doc.traefik.io/traefik/routing/routers/#tls
- 完整 Tcp 路由器 TLS 设置 https://doc.traefik.io/traefik/routing/routers/#tls
- 加权服务 https://doc.traefik.io/traefik/routing/services/#weighted-round-robin-service
- 镜像服务 https://doc.traefik.io/traefik/routing/services/#mirroring-service
- 服务健康检查 https://doc.traefik.io/traefik/routing/services/#health-check
- 服务会话保持 https://doc.traefik.io/traefik/routing/services/#sticky-sessions