SSL的非透明代理缓存

时间:2009-10-11 00:38:12

标签: web-services rest caching ssl proxy

我以前问过这个问题,但没有说得对。我正在使用RESTful原则来构建一个使用传输身份验证/加密和消息级安全性的安全Web应用程序。

消息级安全性本质上是与客户端无关的(尽管仍然是加密的),因此这允许单个消息被缓存或存储在中间服务器上,而不会有暴露私有数据的重大风险。

需要使用传输级别安全性来使用TLS客户端身份验证对两个端点进行身份验证。这种情况类似于具有消息来源的中央主机,以及客户端所在的每个分支的高速缓存。我希望使用TLS和单独的X509证书来保护客户端 - >缓存和缓存 - >大型机连接。因此,客户端将知道它正在与代理进行通信,并且大型机将知道它正在与代理进行通信,而不是直接与客户进行通信。

有没有办法使用HTTP标准,而不是通过一些黑客?

基本上,我希望客户端尝试访问大型机URI,知道它必须通过代理,并使用TLS与代理(代理具有自己的证书),然后让代理继续代表客户端连接到大型机(每个都有自己的证书)。代理可以缓存大型机返回的数据,并使用它而不必每次都连接到大型机。

有人知道代理/缓存软件或允许这种情况的方法吗?

2 个答案:

答案 0 :(得分:0)

这会在serverfault.com上获得更多响应,因为它本质上是一个服务器软件/配置问题,而不是编程问题本身?

答案 1 :(得分:0)

基本上,听起来你想要一个带缓存的标准SSL反向代理。您可以在不使用Apache + mod_cache编写任何代码的情况下执行此操作,将其配置为反向代理。

踢球者是消息安全。只有当您的请求仅基于路径/查询字符串100%可缓存,并且它们是“客户端唯一”(例如,QS中的客户端ID或其他内容)时,它才有效。有些东西告诉我其中一个或两个都不是真的。在ASP.NET中构建,或者通过扩展mod_cache(基本上只是标准响应缓存,由客户端证书指纹进行删除),这将是非常简单的。