Traefik 是一个现代的反向代理和负载均衡器,它可以自动发现并管理应用程序中的服务。在 Traefik 中使用自定义证书,你需要在配置文件中指定证书文件的位置,并设置相应的 TLS 选项。以下是一个使用自定义证书的示例配置:
-
准备你的自定义证书文件,通常包括一个私钥文件(如
mydomain.key
)和一个证书文件(如mydomain.crt
)。 -
创建一个 Traefik 配置文件(例如
traefik.yml
),并在其中添加如下内容:
entryPoints: websecure: address: ":443" tls: certificates: - certFile: "/path/to/mydomain.crt" keyFile: "/path/to/mydomain.key" providers: file: filename: "/path/to/dynamic.yml"
在这个配置中,我们定义了一个名为 websecure
的 entryPoint,它监听 443 端口。然后,我们在 tls.certificates
下指定了自定义证书文件的路径。
- 创建一个动态配置文件(例如
dynamic.yml
),并在其中添加如下内容:
http: routers: my-app: rule: "Host(`mydomain.com`)" service: my-app-service tls: {} services: my-app-service: loadBalancer: servers: - url: "http://your-backend-service:80"
在这个配置中,我们定义了一个名为 my-app
的 router,当请求的主机名为 mydomain.com
时,会将请求转发到名为 my-app-service
的服务。并且,我们通过设置 tls: {}
开启了 TLS。
- 启动 Traefik,并指定配置文件的路径:
./traefik --configFile=/path/to/traefik.yml
现在,Traefik 应该使用你提供的自定义证书为 mydomain.com
提供 HTTPS 服务。请注意,这个示例仅适用于单个域名。如果你需要为多个域名配置自定义证书,可以在 tls.certificates
下添加更多的证书。