Varnish x Apache CDN & HTTPs。

问题描述 投票:-1回答:1

我目前正在尝试使用Varnish,Nginx,&Apache建立一个DYI CDN.这是我计划的以下设置。

以下是假设。

1. The Varnish Origin server is on the same server as the web server (Apache in this case)
2. You have 2 Varnish Cache Servers located in different countries, one in NA, & one in EU

一个NA客户端试图检索数据的例子。

NA Client --> Varnish Origin Server --> NA Varnish Cache Server --> If result NOT IN cache --> Return Apache Origin Server results --> Input request data into NA Varnish Cache Server

一个欧盟客户端试图检索数据的例子。

EU Client --> Varnish Origin Server --> EU Varnish Cache Server --> If result IN cache --> Return EU Varnish Cache results

有什么建议或错误吗?由于Varnish不接受HTTPs,为了终止SSL,我应该在哪里插入NginxHAProxy?

apache nginx https haproxy varnish
1个回答
0
投票

你所建议的是完全可能的,并且已经成为我们Varnish软件公司越来越受欢迎的用例。

地理定位

首先:我假设所有的用户,不管他们在什么地方,都会使用同一个主机名来连接CDN。假设主机名是 www.example.com.

美国用户应该自动连接到美国的Varnish边缘节点,欧盟用户应该被引导到欧盟。

这种地理定位需要某种GeoDNS方法。如果你的DNS提供商可以为你做这件事,事情就会简单很多。

如果不能,我知道的事实是 AWS Route 53 做到这一点。如果你想使用开源技术,你可以自己使用 https:/github.comabhgeodns。.

因此,如果一个美国用户在以下网站上进行DNS调用 www.example.com,这应该可以解决 us.example.com. 对于欧盟用户,这将是 eu.example.com.

拓扑学

你的设置将从本地Varnish服务器连接到远程Varnish服务器。这看起来像是跳得太多了。如果地理定位正确工作,你将直接在离用户最近的Varnish服务器上结束。

我们称这些地理位置的服务器为 "边缘节点"。它们会在请求的内容在缓存中不可用的情况下连接回原服务器。

这取决于你是否决定一个原点Apache就可以了,或者你是否想在不同的地理区域重复你的Apache服务器。

SSLTLS

我在SSLTLS终止方面的建议。使用 铰链. 这是一个由Varnish开发的专用TLS代理,与Varnish一起使用。它是开源的。

你可以在每个Varnish服务器上安装Hitch,并在那里接受HTTPS。Hitch和Varnish之间的连接可以通过以下方式完成。Unix域套接字,从而进一步降低了延迟。

我们的测试表明,您可以轻松处理 单台服务器上的100 Gbps 使用终止的TLS与Hitch。

单层Varnish或多层Varnish。

如果你的CDN需要大量的存储空间,我建议你在每个地理位置设置一个多层Varnish设置。

  • The 边缘层 会很重的RAM,并且会缓存 热门内容 在内存中使用 malloc 清漆的装卸工人
  • 存储层 将会对磁盘造成沉重的负担,并且会缓存 长尾内容 在磁盘上使用 file 清漆的装卸工人

虽然 file stevedore能够缓存terrabytes的数据,它很容易出现磁盘碎片,在非常大的规模下,从长远来看会拖慢你的速度。

如果你有分层的Varnish服务器,你可以根据每个层级的需求进行调整。综合起来,效果会相当不错:虽然是 file stevedore有其局限性,当边缘服务器的缓存满了,它仍然会比不断访问原点快很多。

Varnish软件的DIY CDN解决方案

Varnish软件公司是Varnish Cache项目背后的公司,已经为世界上一些最大的网络平台做了很多CDN整合项目。

Varnish Cache开源项目,是这些CDN解决方案的基础。然而,典型的CDN客户有一些额外的要求,这不是开源解决方案的一部分。

这就是为什么我们开发了 Varnish企业,以解决这些限制。

请看一下 Varnish软件的DIY CDN解决方案 以了解更多。也请看一下 文献 包含产品的额外功能。

如果你想在不预先购买许可证的情况下玩转这些功能,你可以用 Varnish企业 云中的图像。

  • 我们有一个 AWS图像 可在AWS市场上使用。
  • 我们有一个 Azure图像 可在Azure市场上使用。
  • 我们有一个 GCP形象 在GCP市场上可以买到

我们最重要的CDN功能在 Varnish Enterpise大规模存储引擎. 它是专门为应对 file stevedore,容易出现磁盘碎片和非持久性。

还有很多其他酷炫的东西,在 Varnish企业 的CDN,但你会在我提到的文档页面上找到。

© www.soinside.com 2019 - 2024. All rights reserved.