Назад | Перейти на главную страницу

Varnish + Nginx + Wordpress: использование цикла перенаправления Varnish get

У меня есть два веб-сайта, использующих Wordpress и Nginx, и я пытался поставить Varnish впереди, но при изменении порта прослушивания Nginx на 8080 все веб-сайты входят в цикл перенаправления.

На включенных сайтах у меня есть все разные хосты, разделенные файлом, как таковые:

server {
    server_name xpto.xyz.com;
    root /usr/share/nginx/www/xpto.xyz.com;
    include global/common.conf;
    include global/wordpress.conf;
}

В common.conf я настроил порт для прослушивания.

Что касается Varnish, у меня в файле varnish есть следующее:

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

И в default.vcl есть:

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}
# Drop any cookies sent to Wordpress.
sub vcl_recv {
        if (!(req.url ~ "wp-(login|admin)")) {
                unset req.http.cookie;
        }
}
# Drop any cookies Wordpress tries to send back to the client.
sub vcl_fetch {
        if (!(req.url ~ "wp-(login|admin)")) {
                unset beresp.http.set-cookie;
        }
}

Кто-нибудь может мне помочь? Заранее спасибо.

Я думаю, что ваш wordpress, вероятно, выполняет перенаправление, потому что он видит трафик, поступающий на 127.0.0.1:8080, и хочет перенаправить на каноническое имя сайта. Попробуйте использовать curl для извлечения сайта из разных слоев стека, и вы сможете убедиться в этом сами.