Лак проблемы производит чистку через CloudFlare для Лакировки

использование FireHOL - удобная iptables обертка

Я нашел это намного более интуитивным, чем прямые команды iptables. Специально для людей с прошлым опытом с другими брандмауэрами:

FireHOL является iptables генератором брандмауэра, производящим iptables пакетные брандмауэры фильтрации с сохранением информации, на хостах Linux и маршрутизаторах с любым количеством сетевых интерфейсов, любым количеством маршрутов, любым номером обслуживаемых служб, любым количеством сложности между изменениями сервисов (включая положительные и отрицательные выражения).

1
задан 25 March 2015 в 15:27
3 ответа

Ваша проблема в том, что запрос на очистку обрабатывается ClodFlare вместо Varnish.

Имейте в виду, что:

  • В Varnish 3 вы должны использовать 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] о запретах и ​​чистках

На мой взгляд, вы должны параметры:

  1. Выполняйте очистку непосредственно в Varnish в обход CloudFlare, напрямую используя curl -H "Host: _host_wich_has_the_url_to_purge" -X PURGE http: // _ varnish_ip_: _varnish_port / _url_to_purge_
  2. Попробуйте добавить диапазоны IP-адресов CloudFlare ваш 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

2
ответ дан 3 December 2019 в 21:25

FWIW, плагин говорит, что нужно ввести IP-адрес вашего сервера Varnish (в http: // wordpress. org / plugins / varnish-http-purge / faq / ). "Ваш IP-адрес Varnish должен быть одним из IP-адресов, которые прослушивает Varnish. Если вы используете несколько IP-адресов или настроили свои списки контроля доступа, вам нужно выбрать такой, который не конфликтует с другими вашими настройками. Например , если у вас есть Varnish, прослушивающий общедоступный и частный IP-адрес, вы захотите выбрать частный. С другой стороны,

0
ответ дан 3 December 2019 в 21:25

Cloudflare, когда вы передадите им свой DNS, настроит direct.yourdomain.com. Вы должны иметь возможность отправить PURGE прямо на этот адрес, который обойдет Cloudflare и напрямую попадет на ваш сервер Varnish. Однако убедитесь, что все имеющиеся у вас блоки ACL разрешают адрес, с которого вы отправляете PURGE.

0
ответ дан 3 December 2019 в 21:25

Теги

Похожие вопросы