gpt4 book ai didi

azure - 从 VS2015 开始将 WebApp 部署到 Azure,实现零停机

转载 作者:行者123 更新时间:2023-12-03 03:11:49 26 4
gpt4 key购买 nike

我正在尝试在不停机的情况下从 VS 发布我的 Web 应用程序。如果您在 Google 中搜索,您会发现官方文档谈到了使用插槽并稍后进行交换。

这是一个很好的方法,但是当我进行交换时,我遇到了其他问题,登录丢失了(看看这个问题:link)。

链接中的相关信息:

session 未链接到身份验证,您尝试以错误的方式解决它。

所有表单例份验证票证和 cookie 均使用数据保护层进行加密和签名。您遇到的问题是由于未保存加密 key 以及应用程序相互隔离造成的。

我怎样才能做到这一点?在 AWS 中,我进行了滚动更新...

有关详细信息,我正在使用 ASP.NET Core 和 Identity 3.0

谢谢!!

最佳答案

您现在看到的是 azure 的限制。虽然 Azure 网站将共享 key 环,但它将交换槽视为单独的应用程序。

有一些事情可以尝试。

首先,设置一个通用的应用程序名称。这会有所帮助,因为默认情况下共享 key 环的每个应用程序都是隔离的;但如果他们共享应用程序名称,他们就可以共享 key

public void ConfigureServices(IServiceCollection services)
{
services.AddDataProtection();
services.ConfigureDataProtection(configure =>
{
configure.SetApplicationName("my application");
});
}

如果这对于 azure 来说还不够(老实说,我不确定热交换最终是否使用 Azure Web App 的共享 key 文件夹),您可以将其与使用 Azure 数据表存储加密 key 结合起来 - https://github.com/GrabYourPitchforks/DataProtection.Azure/tree/dev

在这两者之间,它应该获取用于保护应用程序之间共享的身份 cookie 的加密 key 。

关于azure - 从 VS2015 开始将 WebApp 部署到 Azure,实现零停机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36515670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com