我有 2 个 Web 服务器 (Windows 2012),每个服务器上都有一个网站 (ASP.NET MVC 4)。为了确保 ASP.NET 加密正常工作,我执行了以下操作:
- 使用 Octopus 将应用部署到两台服务器
- 前往第一台服务器,选择网站,单击“机器 key ”图标,取消选中所有复选框,单击“生成 key ”,然后单击“应用”
- 然后我将生成的 key 复制到另一台机器
这有效,但仅限于下一次部署。部署似乎将计算 secret 钥值重置回默认值。部署过程非常简单:
- 停止应用程序池
- 删除应用文件夹的内容
- 将新文件复制到应用文件夹
- 启动应用程序池
作为一种解决方法,我在 web.config 中有 key ,但由于显而易见的原因,这远非完美。
您知道为什么要重置这些值吗?
谢谢
帕维尔
最佳答案
IIS 将机器 key 放在哪里?进入 web.config 还是进入 machine.config?
还尝试将 Octopus 变量 OctopusNotAWebSite 设置为 true 并手动执行 IIS 重新指向。 Octopus 可能会以某种方式重置 IIS 应用程序。
关于iis - 部署之间不会保留手动生成的 MachineKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16291765/