我想为一些网站添加 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 从本地磁盘提供服务,则文件系统缓存已经生效,因此您正在提供缓存的内容。
第二种方法没有问题,而且绝对是您应该采用的方法。