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

时间:2016-09-07 14:34:14

标签: asp.net-mvc azure staging azure-deployment azure-deployment-slots

我的情况如下。

我有我的website.azurewebsites.net主站点,它重定向到https://website.dk(我买了这个域名)并创建了另一个名为website-dev.azurewebsites.net的部署插槽。但是,当我想访问'dev'时,它仍然被重定向到https://website.dk,其中包含来自website.azurewebsites.net的更改。

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

编辑:也许是web.config文件中的重定向,但是我已经注释掉了重定向部分并发布了?

3 个答案:

答案 0 :(得分:1)

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

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

中描述的步骤进行操作

答案 1 :(得分:0)

我找到了解决方案,结果我必须在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>-->

答案 2 :(得分:-1)

对于我来说,出现此症状的原因是带有新的“部署插槽”(预览)功能的负载均衡器路由规则。这样一来,您就可以将一部分流量从一个插槽(即生产)重定向到其他插槽(即登台)。您还可以将流量从分段迁移回生产,因此存在重新路由矩阵。

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

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

这是用于AB测试的明智配置,其中5%的流量会暂存,而所有暂存流量均会暂存

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

我溜了起来,并进行了此设置,其中100%的准备工作都已投入生产

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

UI有点不直观。

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

  • 点击“部署位置(预览)”
  • 设置适合该Web应用的流量比例。

如果您未进行任何A / B测试或类似测试,则应将流量的100%定向到同一应用程序(即,灰色框中为100%,其他所有应用程序为0%。)

Azure似乎也有问题,与问题中所述的症状相同,尽管这不是我的问题。

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