SSL、前端缓存和 Web 服务器

SSL、前端缓存和 Web 服务器

我想为一些网站添加 SSL。我当前的设置是 varnish -> nginx -> python wsgi 服务器。varnish 位于前端,缓存静态和动态内容。nginx 服务器从磁盘提供静态媒体,并将其他请求代理回 python 应用程序。它工作得很好。

我尝试了两种不同的方法来添加 SSL,但都有其缺点:

请求 443 > stunnel > varnish cache > nginx > python wsgi app

请求 443 > nginx/ssl > varnish cache > python wsgi app

第一种方法的优点是可以继续缓存静态内容。主要缺点是我不知道如何将“非 https”流量重定向到安全版本,因为一旦流量到达 nginx,它就会被解密。

第二种方法也很好,唯一的缺点是 varnish 不再位于静态内容前面,因此不会缓存它。

你们觉得怎么样?有什么想法吗?

答案1

关于第二种方法,“唯一的缺点是 varnish 不再位于内容前面,因此无法缓存它”。如果 nginx 从本地磁盘提供服务,则文件系统缓存已经生效,因此您正在提供缓存的内容。

第二种方法没有问题,而且绝对是您应该采用的方法。

相关内容