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

Varnish VCL не позволяет использовать два отдельных IP-адреса в качестве бэкэндов

Каждый раз, когда я пытаюсь добавить дополнительный сервер в наш файл VCL, это терпит неудачу.

Вот DAEMON_OPTS, от которого мы убегаем:

DAEMON_OPTS = "- a: 80 \ -T localhost: 6082 \ -f /etc/varnish/custom.vcl \ -u varnish -g varnish \ -S / etc / varnish / secret \ -s malloc, 10G"

И вот оскорбительный бэкэнд (ы)

бэкэнд b1 {.host = "114.123.456.789"; .port = "8080"; }

бэкэнд b2 {.host = "203.123.456.789"; .port = "80"; }

Любые идеи ? По ощущениям, возможно, потребуется установить бэкенды где-то, но я не уверен, где именно.

Решено

Итак, оказалось, что мне нужно было установить бэкенды в скрипте vcl, далее в файле vcl (vcl_recv). Если это кому-то поможет, то это код, который я скопировал из (https://www.varnish-cache.org/trac/wiki/VCLExampleRestarts)

sub vcl_recv {
            if (req.restarts == 0) {
                    set req.backend = b1;
            } else if (req.restarts == 1) {
                    set req.backend = b2;
            }
}

Итак, оказалось, что мне нужно было установить бэкэнды в скрипте vcl ниже. Если это кому-то поможет, то это код, который я скопировал из (https://www.varnish-cache.org/trac/wiki/VCLExampleRestarts)

sub vcl_recv {
            if (req.restarts == 0) {
                    set req.backend = b1;
            } else if (req.restarts == 1) {
                    set req.backend = b2;
            } else {
                    set req.backend = b3;
            }
}

Странно, но это правда