Varnish Cache + Nginx + Wordpress,重定向循环

时间:2015-09-12 21:16:53

标签: wordpress curl nginx varnish varnish-vcl

我一直在玩Varnish但是我遇到了一个问题,导致我所有网站上的无限重定向循环(主要是Wordpress和Drupal)。卷曲到localhost:8080并设置" Host"作为标题输出正确的html所以它不是Nginx,但是当卷曲到localhost(击中清漆)时,响应是" 301永久移动"。

有什么想法吗?

这是网站的虚拟主机配置:

index index.php;
server {
        server_name www.example.com;
        rewrite ^ $scheme://example.com$request_uri? permanent;
}
server {
        listen   8080;
        server_name example.com;
        access_log /var/www/logs/access.log;
        error_log /var/www/logs/error.log;
        root /var/www/example.com/public_html;
        include global/restrictions.conf;

        location / {
                try_files $uri $uri/ /index.php;
                if (!-e $request_filename) {
                        rewrite ^/(.*)$ /index.php?q=$1 last;
                }
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/tmp/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi.conf;
        }
}

可以在这里找到Varnish的配置: https://github.com/mattiasgeniar/varnish-4.0-configuration-templates/blob/master/default.vcl除了我稍微修改它以便端口查看8080

由于

2 个答案:

答案 0 :(得分:0)

我认为你也需要listen 8080;进入第一台服务器:

server {
    listen   8080;
    server_name www.example.com;
    rewrite ^ $scheme://example.com$request_uri? permanent;
}

答案 1 :(得分:0)

如果您仍在寻找可行的解决方案,可以在最新的Plesk Onyx版本的Docker容器中使用Varnish。

教程:https://www.plesk.com/blog/product-technology/varnish-wordpress-docker-container