我们有一个使用共享配置的 win 2012/IIS 8.5 web farm。所有服务器都运行良好,我们会在一台服务器上创建一个网站,然后它会在所有服务器上运行。我们遇到了服务器问题,不得不将其中一些服务器更改为本地配置,然后再将它们恢复为共享配置。
我们遇到的问题是无法启动网站,所以这是一个大问题。当时我们怀疑这与我们使用 DFS 在服务器之间共享配置的方式有关,并且可能是 IIS 在配置文件被 DFS 触碰时访问了配置文件。我们尝试了几种方法,最终将服务器恢复到以前的 IIS 配置(由于损坏问题和无法启动网站),并且必须设置新的 DFS 共享。
我们在服务器场上创建新网站时遇到问题,该网站在 web01 上启动,但在其余服务器上卡在启动状态。当我们尝试在其中一个网站上单击“启动”时,我们收到错误
执行此操作时出错。详细信息:对象标识符不代表有效对象。(HRESULT 异常:0x800710D8)
当我编辑服务器上任何站点(卡在启动上的站点)的绑定并应用更改后,我就可以启动所有有问题的站点。
有人知道这是什么原因造成的并且如何解决吗?
谢谢
答案1
在所有服务器上禁用共享配置 - 这将导致它们暂时分离并且每个服务器都存储自己的配置 - 这是可以的。
从 web01 导出 iisConfigurationKey 和 iisWasKey 并导入到所有其他服务器 - 这些加密密钥需要在整个服务器场中同步,才能使共享配置正常工作。如果您通过克隆 web01 构建了其他服务器,则无需执行此操作。
出口:
C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -px "iisConfigurationKey" C:\iisConfKey.xml -pri
C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -px "iisWasKey" C:\iisWasKey.xml -pri
进口:
C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -pi "iisConfigurationKey" C:\iisconfkey.xml -exp
C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -pi "iisWasKey" C:\iisWasKey.xml -exp
设置网络共享,所有服务器都可以使用它来访问共享配置,详细信息如下这里。
在第一台服务器(web01)上,导出配置 - 将其放在此网络位置(请注意导出时使用的加密密钥)。
在第一台服务器(web01)上,再次切换到共享配置模式 - 定义相同的网络位置 - 如果提示,输入加密密钥。
现在在所有其他 Web 服务器上执行相同操作,再次切换到共享配置模式 - 定义相同的网络位置 - 如果提示,请输入加密密钥。
重新启动所有。
现在通过 web01 管理配置,它应该正确显示在其他服务器上。