Webserver -> CDN -> Users从用户的角度来看,他们通过HTTPS到达网站。
问:这是如何工作的?
发布于 2015-12-11 06:24:53
内容传递网络必须能够访问内容,因此它可以通过缓存、压缩等优化传递。在浏览器和web服务器之间进行真正的端到端加密时,CDN不可能访问内容。因此CDN本身必须是加密的端点,即浏览器和CDN之间的连接是安全的,CDN可以从客户机和服务器访问未加密的数据。如果CDN和服务器之间的连接再次加密或未加密,则取决于设置,您将在实践中发现这两种情况。
注意,负载均衡器不同于CDN,因为它不需要访问内容。因此,它可以简单地通过TLS连接到服务器,这样就可以获得端到端的安全性。但是在实践中,负载平衡器通常与SSL卸载相结合,这样您就不会再次拥有端到端的安全性。但是,由于负载平衡器(与CDN相反)通常与服务器位于同一个本地网络中,这并不是什么大问题。
发布于 2015-12-20 00:32:31
CDN需要解密并缓存未加密的内容(压缩是另一回事)。如果您将CDN用于静态内容,则只有CSS、PNG等文件将从CDN中传递,而不是像登录凭据这样的动态数据。大多数CDN (如KeyCDN)允许您选择源服务器和CDN之间的连接是否也应该加密。然后,设置将如下所示:
原始服务器--HTTP(S)--> CDN(缓存未加密) --HTTP(S)-->用户
发布于 2015-12-11 07:29:58
这个图表是错误的。web服务器提供一个页面,web客户端获取页面上的所有可用资源。cdn可以/可能有https作为其传输。通常,您不会使用页面的服务器端呈现,这意味着uses服务器本身使用cdn。不,cdn不能从传统意义上嗅探流量,但如果它愿意,可以做任何javascript和dom操作允许它做的事情。但这样做将冒着开发商的愤怒和cdn的声誉风险。
图表应如下:
客户机上的javascript引擎可以执行加载javascript的任何操作。
为了详细说明,不幸的是,ascii技术并不那么清晰,用户GET/POST请求首先从GET服务器检索页面,然后页面告诉浏览器要获取哪些其他资源。一些URI位于CDN上,另一些位于其他地方。传统上,javascript库由cdns托管。但是,web页面也可以在服务之前呈现并加载到服务器上,因此这可能是一个妥协的矢量。
https://security.stackexchange.com/questions/107835
复制相似问题