iis - 部署之间不会保留手动生成的 MachineKey

标签 iis asp.net-mvc-4 octopus-deploy

我有 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/

相关文章:

asp.net-mvc - 将 powershell 脚本添加到 mvc 站点的 Web 部署包

asp.net - 使用 IIS 和个人证书在本地开发时如何避免出现 "Not Secure"消息?

javascript - MVC 4 中的数据注释不显示错误消息

octopus-deploy - 使用 Octopus Deploy 进行 Web.Config 转换

windows - 使用 Octopus Deploy 调用的 Powershell 删除 Windows 服务

asp.net - 我在 IIS 管理器中找不到目录浏览

asp.net-mvc - 是否需要特定的 IIS 配置才能允许 .Net 4.0 ASP.Net MVC 2 Azure 应用程序正常运行?

iis-8 - Octopus 部署 : Enable SNI on IIS HTTPS binding?

asp.net-mvc - 多个字段的远程验证

c# - 在 ASP.NET MVC 中,当 Model.isvalid 为 false 时如何将验证消息重定向并显示回局部 View