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

Масс 301 редирект с помощью Varnish

Я работаю над переносом сайта на другую платформу. У нас есть сценарий Python для обработки импорта, и мы рассматриваем возможность использования Varnish для повышения скорости. Я хочу убедиться, что все существующие URL-адреса остаются работоспособными (в виде 301 редиректа), и я рассматриваю возможность сделать это непосредственно в Varnish. Мы говорим о 3k + URL, и мы не сможем уловить это с помощью пары регулярных выражений.

В идеале я бы сохранил список перенаправлений в отдельном файле, json, csv или xml, но из немного из исследования кажется, что нет простого способа сделать это, кроме создания огромного .vcl файл с elseifs с помощью скрипта импорта. Есть ли лучший способ сделать массовую переадресацию 301 в Varnish?

Нет

Невозможно связать Varnish с каким-либо хранилищем данных, подобным этому. Однако Varnish может кэшировать ваш 301 ответ, поэтому у вас может быть простой бэкэнд, который возвращает 301 и затем устанавливает очень длинный TTL для него в вашем VCL. Написание сценария PHP / python / etc, который читает файл данных и отправляет 301.

Проверьте это решение: https://www.varnish-cache.org/vmod/database-driven-rewrites а также этот: https://github.com/brandonwamboldt/libvmod-redis

Это должно помочь вам.