在Azure App Services中,我运行一个处理多个租户Web流量的Web应用程序。大多数流量流向一个插槽。但是有几个运行在单独的插槽中。我希望将所有流量合并到使用通配符表达式接受流量的单个插槽,并因此删除运行特定租户的插槽。
示例
前提条件
问题
答案 0 :(得分:1)
说实话,不确定您要做什么。但是,我认为当您在应用程序服务中添加自定义域时,这些要点可能会对您有所帮助。
部署槽是具有自己的主机名的实时应用。每个应用程序在各自的插槽上都有各自的主机名。 SSL绑定中的SSL证书应与每个插槽中所选的自定义域匹配。如果您要配置自定义域作为示例,
mSavedStateViewModel = new ViewModelProvider(this,new SavedStateViewModelFactory(getApplication(),this)).get(SavedStateViewModel.class);
例如,您将在Azure DNS(或您的DNS区域提供商)上创建这样的DNS记录。
经过我的验证后,如果您在DNS区域中删除了app1.somehostname.com (somaapp slot)
*.somehostname.com (production slot)
CNAME,则仍应使用主机名awverify.app1
在单独的插槽中访问Web应用程序,因为app1.somehostname.com
用于由于存在CNAME awverify.app1
映射,因此仍可以将域验证和主机名app1.somehostname.com
解析到您的单独插槽中。 DNS检查器here的结果。
但是,如果您删除主机名app1
的CNAME记录app1
和awverify.app1
,主机名app1.somehostname.com
将被解析到您的生产版位,因为它具有通配符自定义域。
最后,如果要访问插槽中的Web应用程序,则应配置一个CNAME记录映射到插槽URL的主机名。
让我知道是否需要进一步的帮助。
答案 1 :(得分:0)
如果我记得在没有通配符的情况下正确删除了一个 CNAME 会使该特定插槽停止响应 Web 请求。我认为它并没有自动重新分配流量。此外,还设置了 ARRAffinity 令牌。
我的解决方案如下;再次删除它们添加和通配符。显然,这不是您想在高峰时段做的事情。