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

Могу ли я использовать Varnish для управления двумя разными сервисами с разных серверов в одном домене?

Я долго терзал эту настройку, но не знаю, поддерживает ли Varnish то, что я пытаюсь сделать:

  1. У меня есть сервер (ec2), на котором запущен Nginx / Magento для электронной коммерции (www.domain /)
  2. На том же сервере в подкаталоге Magento я запускаю Wordpress (www.domain / blog /)

Оба из них обслуживаются экземпляром Varnish, и все в порядке (tm), однако по соображениям мониторинга и производительности я хочу переместить экземпляр Wordpress на его собственный сервер, а затем указать Varnish на этом сервере для запросов в блог, сохраняя он указывал на существующий Nginx / Magento для электронной коммерции.

Я уже пытался настроить это с помощью моего системного администратора, используя примеры файлов VCL от Varnish, но были проблемы с запросами для Magento, которые Varnish отправлял в Wordpress, которые затем отображались как 404s.

Мне просто нужно разработать правильно настроенный файл VCL? Я что-то еще упускаю? У кого-нибудь есть рабочий пример файла VCL, который это делает?

Просто перенаправьте трафик на другой бэкэнд на основе этого конкретного URI

backend wordpress {
  .host = "my.other.server.ip";
  .port = "80";
}

sub vcl_recv {
  if (req.url ~ "^/blog" && req.http.Host ~ "(.*)domain.com") {
    set req.backend = wordpress;
  }