繁体   English   中英

用于 https 的清漆

[英]Varnish to be used for https

这是情况。 我的客户端通过安全网络 (https) 与多个后端通信。 现在,我想为主要负载平衡(基于头数据或 cookie)和一些缓存建立一个反向代理。 所以,我认为清漆可能有用。

但是,varnish 不支持 ssl 连接。 正如我在很多地方读到的那样,引用"Varnish does not support SSL termination natively" 但是,我想要每个连接,即。 客户端清漆和清漆后端通过 https。 我不能在整个网络的任何地方拥有纯文本数据(有限制),所以没有其他东西可以用作 SSL 终止符(或者可以?)。

所以,这里是问题:

  • 首先,这是什么意思(如果有人可以用简单的术语解释)“Varnish 本身不支持 SSL 终止”。
  • 其次,这个场景是否适合使用清漆实现?
  • 最后,如果 varnish 不是一个好的竞争者,我是否应该切换到其他一些反向代理。 如果是,那么哪个适合该场景? (HA、Nginx 等)

这是什么意思(如果有人可以用简单的术语解释)“Varnish 本身不支持 SSL 终止”

这意味着 Varnish 没有对 SSL 的内置支持。 除非 SSL 由单独的软件处理,否则它无法在带有 SSL 的路径中运行。

这是 Varnish 的作者做出的架构决定,他在 2011 年讨论了他将 SSL 集成到 Varnish 中的想法。

他基于许多因素做出这一点,其中最重要的是想要把它做对,如果有的话,同时观察到 SSL 的事实上的标准库是 openssl,这是一个超过 300,000 行代码的迷宫集合,并且他对这个代码库既不自信,也不对有利的成本/收益比的可能性有信心。

他当时的结论是,一句话,“不”。

这不是我小时候梦想做的事情之一,如果我现在做梦,我称之为噩梦。

https://www.varnish-cache.org/docs/trunk/phk/ssl.html

他在 2015 年重新审视了这个概念。

他的结论再次是“不”。

代码很难,加密代码是双加硬的,如果不是双平方硬的话,世界真的不需要另一段在密码学方面做半途而废的代码。

...

当我看到像 Willy Tarreau 的HAProxy这样的东西时,我很难看到任何重要的改进机会。

不,Varnish 仍然不会添加 SSL/TLS 支持。

相反,在 Varnish 4.1 中,我们添加了对 Willys PROXY 协议的支持,这使得从 SSL 终止代理(例如 HAProxy)向 Varnish 传达额外细节成为可能。

https://www.varnish-cache.org/docs/trunk/phk/ssl_again.html

这种增强可以简化将 varnish 集成到具有加密要求的环境中的过程,因为它提供了另一种机制来在卸载的 SSL 设置中保留原始浏览器的身份。

这个场景是否适合使用清漆实现?

如果您需要 Varnish,请使用它,注意 SSL 必须单独处理。 但是请注意,这并不一定意味着未加密的流量必须遍历您的网络……尽管这确实会使设置更加复杂且占用 CPU 资源。

没有其他东西可以用作 SSL 终止符(或者可以?)

SSL可以在Varnish的前端卸载,在Varnish的后端重新建立,都在运行Varnish的同一台机器上,但是通过单独的进程,使用HAProxy或stunnel或nginx或其他解决方案,在前面和在清漆后面。 任何明文流量都在一台主机的范围内运行,因此如果主机本身是安全的,则可以说不是漏洞点,因为它永远不会离开机器。

如果清漆不是一个好的竞争者,我应该切换到其他一些反向代理吗

这完全取决于您在堆栈中想要和需要什么、它对您的成本/收益、您的专业水平、资源的可用性以及其他因素。 每个选项都有其自己的一组功能和限制,在同一堆栈中使用多个选项当然并非闻所未闻。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM