Azure 部署槽交换重定向到同一域

Azure Deployment Slot swap redirects to same domain

我的场景如下

我的 website.azurewebsites.net 主站点重定向到 https://website.dk (I bought this domain) and created another deployment slot called website-dev.azurewebsites.net. However when I want to visit the 'dev' one it is still being redirected to https://website.dk,其中包含 website.azurewebsites.net.

的更改

如何在不被重定向到主网站的情况下访问网站-dev.azurewebsites.net?

编辑:可能是web.config文件中的重定向,但是我把重定向部分注释掉发布了?

我找到了解决方案,结果我不得不在 web.config.

中评论整个 <rewrite>
<!--<rewrite>
  <rules>
    <rule name="Force HTTPS" enabled="true">
      <match url="(.*)" ignoreCase="false" />
      <conditions>
        <add input="{HTTPS}" pattern="off" />
      </conditions>
      <action type="Redirect" url="https://website.dk/" appendQueryString="true" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>-->

注释掉重定向不是一个好的做法,因为如果您将开发环境切换到生产环境并且忘记再次添加重定向,这可能会导致问题。

您应该为规则添加条件,以便它们仅在生产环境中执行。我建议您按照 https://gist.github.com/alindgren/999c542a6625ddfb41f1b0293878dcad

中描述的步骤进行操作

对我来说,出现此症状是由于负载均衡器路由规则具有新的部署槽(预览版)功能。这允许您将一部分流量从一个插槽(即生产)重定向到其他插槽(即暂存)。您还可以将流量从暂存区路由回生产环境,因此有一个重新路由矩阵。

此配置将所有流量发送到预期站点

    TO  prod stag
FROM    
prod    100%   0%
stag      0% 100%

这是 AB 测试的合理配置,其中 5% 的流量 prod 用于暂存,所有暂存流量都用于暂存

    TO  prod stag
FROM    
prod    95%    5%
stag     0%  100%

我失误了这个设置,100% 的暂存投入生产

    TO  prod stag
FROM    
prod    100%  0%
stag    100%  0%

UI有点不直观。

要解决这个问题, 对于您的 Web 服务中的每个 Web 应用程序(生产、暂存、开发等),

  • 点击"Deployment slots (Preview)"
  • 设置适合该 Web 应用程序的流量比例。

如果您没有进行任何 A/B 测试或类似测试,您应该将 100% 的流量引导至同一个应用(即 100% 在灰色框内,0% 在所有其他框内。)

Azure 似乎也存在问题,其症状与问题中描述的相同,尽管这不是我的问题。

Azure load balancer redirects staging slots traffic to production, unable to access staging