Как объединить эти два лаковых бэкэнда? - PullRequest
0 голосов
/ 21 июня 2019

Я использую thumbor и s3.

Я хочу использовать лак перед ними.

Я знаю, как сделать лак в каждом из них, но я не могу объединить два

Настройка лака для большого пальца

vcl 4.0;

import directors;

backend thumbor1 { .host ="127.0.0.1"; .port="8888";  .max_connections = 200; .connect_timeout = 5s; .between_bytes_timeout  = 5s; }
# backend thumbor2 { .host ="127.0.0.1"; .port="9002";  .max_connections = 200; .connect_timeout = 5s; .between_bytes_timeout  = 5s; }

acl internal {
    "localhost";
    "127.0.0.1";
}

sub vcl_init {
    new vdir = directors.round_robin();
    vdir.add_backend(thumbor1);
#     vdir.add_backend(thumbor2);
}

sub vcl_recv {
    set req.backend_hint = vdir.backend();
    if (req.method == "PURGE") {
         if (!client.ip ~ internal) {
            return (synth(405, "This IP is not allowed to send PURGE requests."));
         }
         return (purge);
    }

    if (req.url ~ "\?$") {
        set req.url = regsub(req.url, "\?$", "");
    }
    return (hash);
}

настройка лака для s3

 vcl 4.0;


 backend default
 {
   .host = "my.bucket.s3.amazonaws.com";
   .port = "80";
 }

 sub vcl_backend_fetch
 {
   set bereq.http.Host = "my.bucket.s3.amazonaws.com";
   set bereq.http.Date = now;

 }

Я бы хотел, чтобы конечный результат был примерно таким:

client => varnish => thumbor => s3 (thumbnail image)
client => varnish => s3 (normal image)
...