gpt4 book ai didi

azure - 如果我使用 Azure 网站的自动缩放功能,是否需要设置特定的计算 secret 钥?

转载 作者:行者123 更新时间:2023-12-02 06:59:46 27 4
gpt4 key购买 nike

如果您对 Azure 网站使用自动缩放,是否需要设置计算 secret 钥,以便可以在计算机之间共享加密的身份验证 token ?

这里有一个问题,似乎be the same正如我所问的那样。然而,这个问题涉及 Azure Web 角色。我询问有关 Azure 网站的信息。

最佳答案

不,你不需要。当所有实例在 2 个(或 10 个)不同的 VM 上运行时,Azure 网站将为它们设置相同的计算 secret 钥。

如果您想要一种快速而肮脏的方法来验证这一点,请在 Application_Start() 中添加以下代码,基本上,这会将机器 key 写入名为 %WEBSITE_INSTANCE_ID%< 的文件中 这是每个实例的唯一环境变量。扩展到 2 台计算机,打开 Always On 设置,一分钟内应在您的 D:\home\site\wwwroot 文件夹中写入 2 个文件,这些文件具有很长的 guid名称(两台机器的实例 ID),它们将包含相同的 key 。

code credit goes to this

protected void Application_Start()
{
var section = (MachineKeySection)
ConfigurationManager.GetSection("system.web/machineKey");

BindingFlags flags =
BindingFlags.Instance |
BindingFlags.NonPublic |
BindingFlags.GetProperty;

Func<string, byte[]> propertyReader = name => (byte[])section
.GetType()
.GetProperty(name, flags)
.GetValue(section, null);

using (
var writer =
new StreamWriter(Environment.ExpandEnvironmentVariables(@"%HOME%\site\wwwroot\%WEBSITE_INSTANCE_ID%.log")))
{
var key = ConvertToHex(
propertyReader("DecryptionKeyInternal"));
writer.WriteLine("DecryptKey: {0}", key);

var iv = ConvertToHex(
propertyReader("ValidationKeyInternal"));
writer.WriteLine("ValidationKey: {0}", iv);
}

}

private string ConvertToHex(byte[] binary)
{
return binary.Aggregate(
new StringBuilder(),
(acc, c) => acc.AppendFormat("{0:x2}", c),
acc => acc.ToString());
}

关于azure - 如果我使用 Azure 网站的自动缩放功能,是否需要设置特定的计算 secret 钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23257668/

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