我正在探索用puppet管理IIS的方法.应用程序跨多个服务器运行,因此我需要密钥在应用程序之间保持一致,因此如果人们从一个Web服务器移动到另一个Web服务器是一致的.
话虽这么说,钥匙 – 他们走出了该死的城墙!
我已经找到了很多关于共享配置等的方法和信息.但是在没有共享配置的情况下自动化这一点,我想真正了解这些不同的密钥在Windows Server 2016中的作用.我一直很难找到这些信息.
特别是,以下3个键之间的关系(假设这些是不同的东西):
>机器密钥(由IIS gui显示,或者Get-WebConfigurationProperty -PSPath Machine / Webroot /system.web/machineKey -name * | select *)在我从auto更改后,似乎与IIS GUI的设置相匹配生成到特定键.
>还有机器钥匙?您可以使用aspnet_regiis获取的IISCofigurationKey和iisWasKey键.
那么Webroot中的机器密钥和从aspnet_regiss导出的RSA密钥如何相关以及它们的具体用途是什么?
它们是否需要在Web场中保持一致(假设没有通过webconfig过载)以在其上运行的aspnet应用程序中进行一致的auth,或者只有IIS gui中显示的机器密钥,只要您不尝试复制实际的applicationhost文件?
只有两把钥匙而不是三把钥匙.
IISConfigurationKey(“机器密钥”)可以存在于webroot,全局系统配置和iisWasKey中.基本上,您可以通过在应用程序配置中使用一个来覆盖全局计算机密钥.
机器密钥用于加密配置节.这是用于加密配置字符串以及您可以指定为app.config一部分的其他位的密钥.
iisWasKey用于加密应用程序池标识.
因此,您需要在服务器场中所有IIS服务器上设置IIS配置的计算机上的私钥才能解密并运行您要推出的配置.