2012-04-24 64 views
3

我已经设置了一个appfabric(v1.1)缓存服务器。服务在服务帐户下运行,并且群集配置存储在SQL Server中。服务帐户在sql server上拥有权限并且能够成功配置。无法连接到AppFabric缓存服务器

管理控制台在使用服务帐户用户打开时,能够访问缓存。

但问题是,当我试图从不同的机器连接到此缓存服务,它无法连接。

ErrorCode<ERRCA0017>:SubStatus<ES0006>:There is a temporary failure. Please retry later 

当我试图用一个文件共享XML配置和服务在“网络服务”帐户下运行,我是能够连接。

以下设置在缓存服务器上进行验证。

  • 服务已启动并在端口22233.
  • 防火墙运行处于关闭状态。
  • 客户端计算机被授予访问缓存集群的权限。
+0

您能发布失败的(SQL)客户端配置和良好的(XML)配置吗? – PhilPursglove 2012-04-27 16:25:55

回答

4

运行AppFabric缓存作为“网络服务”之外的任何其他内容都不受支持。

这里的official documentation that hints at the limitation

缓存服务安装到网络服务 帐户下运行。这意味着对于网络上的操作,缓存服务使用缓存服务器域 计算机帐户的安全凭证。缓存服务使用较低特权 网络服务帐户,以帮助减轻可能造成的恶意攻击

但是,如果你没有找到令人信服的存在从一个MS人的this forum post 的伤害:

不支持以域用户身份运行Velocity服务。

如果您认为这是一个可怕的限制...我同意你的意见。

AppFabric缓存是100%WCF实现。当我遇到这个问题时,我打开了WCF跟踪,发现异常“目标原理名称不正确”。 AppFabric缓存不公开配置原则的能力。

在我的域名帐户下运行缓存的测试中,我发现如果我通过域边界调用缓存:它工作。如果我从同一个域内调用它,则失败。我的基础设施人员说,根据证书在不同场景中的表现方式,他的行为对他有意义。

+0

但是,当我在服务器中访问时,我能够添加/获取cacheitem – Manas 2012-05-03 04:20:32

+0

是的。它有时会起作用。它的“不支持”没有被破坏。这意味着“自担风险”。这完全取决于凭证如何呈现给服务。本地呼叫的认证方式与远程呼叫不同。这就是为什么我给出了跨域呼叫工作的例子。你可以给你的域帐户所有的网络服务的特权,我敢打赌它会工作......但是你公司的每个安全专家都会否决它。因此“不受支持”。 – ErnieL 2012-05-04 16:03:48