использование FireHOL - удобная iptables обертка
Я нашел это намного более интуитивным, чем прямые команды iptables. Специально для людей с прошлым опытом с другими брандмауэрами:
FireHOL является iptables генератором брандмауэра, производящим iptables пакетные брандмауэры фильтрации с сохранением информации, на хостах Linux и маршрутизаторах с любым количеством сетевых интерфейсов, любым количеством маршрутов, любым номером обслуживаемых служб, любым количеством сложности между изменениями сервисов (включая положительные и отрицательные выражения).
Ваша проблема в том, что запрос на очистку обрабатывается ClodFlare вместо Varnish.
Имейте в виду, что:
purge;
вместо установите obj.ttl = 0s;
Varnish разрешит объект, используя vcl_hash
. В Varnish 3 это означает по умолчанию [1], что req.url будет использоваться вместе с HTTP-заголовком «Host» или, если он отсутствует, IP-адресом сервера:
sub vcl_hash {
hash_data (req.url);
if (req.http.host) {
hash_data (req.http.host);
} else {
hash_data (server.ip);
}
возврат (хеш);
}
vcl_hash
в соответствии с вашими потребностями Пожалуйста, ознакомьтесь с документацией [2] и информацией Varnish Book [3] о запретах и чистках
На мой взгляд, вы должны параметры:
curl -H "Host: _host_wich_has_the_url_to_purge" -X PURGE http: // _ varnish_ip_: _varnish_port / _url_to_purge_
acl purge
(не рекомендуется) и проинструктируйте CloudFlare передавать такие запросы Varnish. [1] https://www.varnish-cache.org/docs/3.0/reference/vcl.html#examples
[2] https://www.varnish-cache.org/docs/3.0/tutorial/purging.html
[3] https://www.varnish-software.com/static/book/Cache_invalidation.html#removing-a- single-object
FWIW, плагин говорит, что нужно ввести IP-адрес вашего сервера Varnish (в http: // wordpress. org / plugins / varnish-http-purge / faq / ). "Ваш IP-адрес Varnish должен быть одним из IP-адресов, которые прослушивает Varnish. Если вы используете несколько IP-адресов или настроили свои списки контроля доступа, вам нужно выбрать такой, который не конфликтует с другими вашими настройками. Например , если у вас есть Varnish, прослушивающий общедоступный и частный IP-адрес, вы захотите выбрать частный. С другой стороны,
Cloudflare, когда вы передадите им свой DNS, настроит direct.yourdomain.com. Вы должны иметь возможность отправить PURGE прямо на этот адрес, который обойдет Cloudflare и напрямую попадет на ваш сервер Varnish. Однако убедитесь, что все имеющиеся у вас блоки ACL разрешают адрес, с которого вы отправляете PURGE.