traefik 是否可以将 index.html 附加到空('/')路径?

Is it possible for traefik to append index.html to empty ('/') paths?

我们如何有条件地将 "index.html" 附加到以斜杠结尾的 url 请求中?

作为背景: 我们将多个域名的多个静态单页应用程序部署到启用了网络托管的单个 S3 存储桶中。此存储桶可用作: https://our-bucket-name.s3.amazonaws.com

存储桶使用对象键前缀进行组织,因此: https://our-bucket-name.s3.amazonaws.com/environment/app_name/build_id/index.html https://our-bucket-name.s3.amazonaws.com/environment/app_name/build_id/app.css https://our-bucket-name.s3.amazonaws.com/environment/app_name/build_id/app.js

如果有要求: https://www.example.com/ 这应该被路由到: https://our-bucket-name.s3.amazonaws.com/environment/app-name/build_id/index.html

如果有要求: https://www.example.com/app.css 这应该被路由到: https://our-bucket-name.s3.amazonaws.com/environment/app-name/build_id/app.css

不确定它是否相关,但此处的 traefik 用于我们希望由 AWS S3 支持的 kubernetes 入口。

您可以使用 AddPrefix 或 ReplacePath 修饰符,但您还需要在 fontend 上创建一个匹配器。

步骤

  1. 创建前端以匹配空白路径规则
  2. 为该前端添加修饰符。 ReplacePath 应该可以解决问题
  3. 路由到后端