我可以使用主机名最左边的部分并对之后的所有内容使用通配符进行路由吗?

我可以使用主机名最左边的部分并对之后的所有内容使用通配符进行路由吗?

我有一个应用程序,希望它根据最高阶子域转发流量,而不是从右到左的完整域。

例如,我有以下域:

  • mydomainone.fake
  • mydomaintwo.fake
  • subdomain.mydomainthree.fake

有什么方法可以让以下内容全部路由到同一个后端使用单一规则例如api.*(因为它们都以 开头api):

  • api.mydomainone.fake
  • api.mydomaintwo.fake
  • api.subdomain.mydomainthree.fake

这里的目标是能够api.subsubdomain.subdomain.mydomainfour.fake向我的应用程序添加新租户()并使其动态响应,而不必在每次配置新租户指向我的负载均衡器时更新我的​​负载均衡配置。

我能想到的一个负面影响是,任何人都可以配置一个域来指向我的应用程序。尽管我的应用程序代码只能识别它设置的域。

答案1

如果我理解你的概念正确的话,那么这行不通。
你可以在一个规则中拥有多个子域,但你不能拥有类似api.*.example.comapi.*.com

在这种情况下,规则的数量并不重要,您将收到此错误:
Asterisk may only be used as leftmost character preceding '.' or '-'

因此您必须单独添加每个子域。

相关内容