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
我的场景如下
我的 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