nginx和varnish for caching forcing ssl

我正在做我的作业,从apache无线caching到nginxcaching,可能通过清漆… …

在阅读了各种博客,文章,服务器故障问题等之后,我知道清漆不能使用ssl,并且该清漆可能比nginx更好地实现dynamic内容的caching。 但是我对于理解nginxcaching是如何工作以及nginx + varnish如何在需要ssl的时候可以一起玩的有点困惑。

下面是怎么实现的,用nginx + varnish还是用nginxcaching?

  1. 一些由自定义PHP引擎驱动的url:ie example.com/this-page由example.com/index.php?p=this-page提供

  2. 一些url是由wordpress驱动的:ie example.com/blog/this-article由wordpress通过example.com/blog/index.php?p=this-article处理

  3. 应该在任何地方强制ssl:即http://example.com/ *redirect到https://example.com/ *

  4. www应该redirect到顶级域:即http://www.example.com/ *redirect到https://example.com/ *

所有这些服务caching版本,如果存在的话(如果我明白 – caching是基于时间的,所以如果我更新该页面,我需要调用PURGE清漆路线和手动删除文件,如果Nginx路线)

如果你想使用nginx和Varnish,我会build议这样的事情。

  • nginx作为前端和SSL终结器,configurationVarnish作为后端。 这也将标准化(重写)从例如www.example.org到example.org的主机名称。
  • 清理从后端caching内容,nginx
  • nginx与运行在例如端口8080的虚拟主机,所有“应用程序逻辑”如WordPress重写,自定义PHP引擎重写等。

所以基本上你会有这样一个堆栈:

nginx – > varnish – > nginx – > php-fpm

你提到的四个要点就是这样解决的。

  1. 后端-nginx与重写和proxy_pass到php-fpm。
  2. 后端-nginx与WordPress相关的重写 。
  3. 前端 – nginx与简单的虚拟主机redirect。
  4. 和3一样。