如何在 App 服务上禁用 HTTP 到 HTTPS 重定向?

问题描述 投票:0回答:1

在为 App 服务创建 HTTP 自定义域后,如何防止 Azure App 服务从 HTTP 重定向到 HTTPS?

仅HTTPS已禁用身份验证已按以下方式禁用身份验证 如何删除Azure SSL绑定?

背景介绍 App Service 由 App Gateway 支撑,该网关处理所有 HTTPS 流量。App Service重写头文件,也重写Set-Cookie。有一个bug限制,根据 https:/docs.microsoft.comen-usazureapplication-gatewayrewrite-http-headers。: "如果一个响应有不止一个同名的头,那么重写其中一个头的值会导致放弃响应中的其他头。这通常会发生在Set-Cookie头中,因为你可以在一个响应中拥有多个Set-Cookie头"。我们被这个限制所束缚。这意味着我们不能使用这里描述的第一个变通方法。https:/docs.microsoft.comen-usazureapplication-gatewaytroubleshoot-app-服务-重定向-app-服务-url。 "解决方法:重写位置头"。重写位置头"。我们在那里被迫使用第二种解决方案,而不是像 "备用解决方案 "中描述的那样,本质上是将流量通过后端App服务。使用自定义域名"。这些例子都使用HTTP作为后端。我们确实尝试了HTTPS作为后端,但这需要部署(我们使用Azure Devops)将证书推送到App Service以及App Gateway,对于一个简单的要求来说,这似乎是一件很费力的事情--尤其是所有微软的例子都在后端使用HTTP,如果有App Gateway保护的话。

在应用网关能够正确处理多个Set-Cookie重写之前,这都是一个权宜之计。

azure-web-sites azure-web-app-service
1个回答
2
投票

除了在App Service中禁用强制HTTPS外,还需要做第二件事。

app.UseHttpsRedirection();已经在Startup.cs文件中设置了。

这将在代码中强制重定向,独立于App Service的设置。将它注释出来后,重定向就失效了,问题就解决了。


0
投票

我认为从 azure 网站返回的永久 301,当 HTTPS onlyON 一段时间,你可以在启用该设置的情况下测试你的网站。

enter image description here

在Chrome DEV工具中禁用缓存,并再次明确使用http调用url,然后对我来说就很好。

更多细节,你可以看 驿站.

以上回答得到了帖子发起人和回答者的认可,希望对你有用。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.