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