使用SSL客户端证书转发Web服务的代理

Modified on: Sun, 21 Jul 2019 02:20:03 +0800

我有很多服务器访问各种外部Web服务,其中大多数使用SSL,其中一些需要客户端证书。我想集中配置客户端证书并将表示层与底层服务器分离。

虽然我可以使用Squid代理请求,但我无法从文档中看到如何告诉Squid选择特定于目标Web服务的客户端证书。这可能吗?

一种方法是在Squid代理之外维护一组stunnel实例,然后将客户端软件配置为使用带有URL重写器的http请求通过适当的stunnel实例路由请求,但是如果我得到了引用HTTPS DTD的XML响应(除非我用完整的MITM重写内容)。

还有其他解决方案吗?

更新强>

将“https”重写为“http”的问题在于它会使用http URI中断任何其他资源 - 因为协议适配器会将这些资源转换回https!

我遇到了这个文章解决了将客户端证书添加到代理连接的问题 - 这可能是一种解决方案。但是确实要求客户端配置为使用代理,在命名事物以及如何使用拆分DNS时也存在问题。不可否认这不是很大的问题,但它让我想到我在这里描述的是大多数CDN提供商使用的模式 - 因此我目前正在考虑使用Apache Traffic Server作为中间组件 - 这允许使用拆分DNS,在两者之间分离SSL通道客户端和源,以及与源服务器通信的客户端证书。

作者:,symcbean

最佳答案

在进一步挖掘后,我决定使用背对背磅的实例。我也考虑使用stunnel或haproxy,但是pound处理SSL的东西,并具有操纵http头的基本能力。

作者:symcbean

相关问答

添加新评论