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

Varnish - несколько бэкэндов с одинаковым именем хоста

У меня есть несколько экземпляров Magento 2 в одном домене. Например, www.mydomain.com/magento1 и www.mydomain.com/magento2.

Я пытаюсь настроить Varnish против этих сайтов Magento. Однако как я могу настроить несколько бэкэндов, если сайты по существу используют одно и то же имя хоста? Итак, этот пример, который я нашел для обработки нескольких бэкендов, мне не подходит.

 backend example1 {
     .host = "backend.example1.com";
     .port = "8080";
 }
 backend example2 {
      .host = "backend.example2.com";
      .port = "8080";
 }

Заранее спасибо,

Просто определите бэкэнды с IP-адресом вместо имени хоста. Или используйте собственное имя хоста для этих машин вместе с реальными именами хостов.

В подпрограмме vcl_recv () вы можете изменить бэкэнд в зависимости от URI, например, это работает в Varnish 4:

sub vcl_recv {
    if (req.url ~ "^(?i)/magento1") {
        set req.backend_hint = example1;
    }
    if (req.url ~ "^(?i)/magento2") {
        set req.backend_hint = example2;
    }
}