# Regulārā izteiksme apturēja Cloudflare. 27 minūtes.

Published: 2026-09-12

2019. gada 2. jūlijs, 13:42 UTC: viens jauns Cloudflare tīmekļa lietojumprogrammu ugunsmūra noteikums tiek ieviests vairāk nekā 180 pilsētās aptuveni divās sekundēs. Tas ir XSS noteikums simulācijas režīmā, tāpēc tas neko nebloķē, taču tas joprojām darbojas ar katru pieprasījumu un beidzas ar .\*(?:.\*=.\*). PCRE atkāpjas, katrs centrālā procesora kodols, kas apkalpo HTTP pieprasījumus, sasniedz 100 %, un katra Cloudflare starpniekservera vietne atgriež 502 kļūdu 27 minūtes; datplūsma samazinās par 82 %. Avārijas slēdzis atrodas aiz Cloudflare Access, kas atrodas aiz Cloudflare. Pēcnāves analīze no Cloudflare pašu apraksta: centrālā procesora aizsardzība, kas tika noņemta vairākas nedēļas iepriekš refaktorizācijā, lai ietaupītu centrālā procesora jaudu, procedūra, kas ļāva jebkuram noteikumam izlaist testēšanas posmu, dzinējs bez sarežģītības garantijas, 11 cēloņi un 7 labojumi. Spriedums par labojumu: SHIP IT.

Canonical: https://thedailydiff.dev/lv/video/2026-09-12-cloudflare-regex/

## Ko aptver šis video

- 13:31–13:42 UTC: PR apvienots, CI zaļš (bez CPU testa), Quicksilver izplata noteikumu uz vairāk nekā 180 pilsētām; WAF noteikumi izlaiž DOG → PIG → Canary posmus
- 13:45–14:07: pirmā lapa; CPU 100 % visā pasaulē, datplūsma -82 %, 502 kļūdas visur; iekšējais vadības panelis ir aiz Cloudflare Access, kas nedarbojas; dažu akreditācijas datu derīguma termiņš ir beidzies; reti izmantots apvedceļš
- 14:07–14:09: globālā WAF pārtraukšana; datplūsma un CPU normālā stāvoklī pēc 27 minūtēm; 14:52 WAF atkal darbojas bez noteikuma
- 2. jūlijs (15:50 UTC) un 12. jūlijs: Cloudflare publicē tās pašas dienas piezīmi un pilnu pēcnāves analīzi; CPU aizsardzība atkal pievienota, 3868 noteikumi pārlasīti, pakāpeniska ieviešana, pāreja uz lineārā laika regulāro izteiksmju dzinēju

## Tulkotais transkripts

Tulkojums no oriģinālā angļu stāstījuma. Pieejamais audio un subtitri tiek kontrolēti no YouTube.

0:00 Viena regulāra izteiksme tiek aktivizēta uz katra Cloudflare servera uzreiz, un nākamās divdesmit septiņas minūtes aiz tā esošās vietnes ir 502 lapas, kas ugunsmūrim ir visstingrākais iespējamais iestatījums. 2019. gada 2. jūlijs, 13:42 UTC. Cloudflare publicē divu stundu laikā: nav uzbrukums, slikta izvietošana, datplūsma samazinājusies par 82 procentiem. Desmit dienas vēlāk CTO Džons Greiems-Kammings publicē pilnu pēcnāves analīzi, iekļauta regulārā izteiksme, un Hacker News tai piešķir 698 punktus,

0:26 kas dīkstāvei ir stāvošas ovācijas. Kā tas notiek, kāpēc tas ir iespējams un kurš patiesībā ir vainojams. Šis ir The Daily Diff, pēcnāves analīze. 13:31. Tiek apvienots pieprasījums: viens jauns ugunsmūra noteikums pret starpvietņu skriptēšanu, simulācijas režīmā, tāpēc tas neko nebloķē. 13:37, testi veiksmīgi; neviens nemēra CPU. 13:42, noteikums tiek nosūtīts uz 180 pilsētām divās sekundēs, jo WAF noteikumi izlaiž suņu, cūku un kanārijputniņu posmus, ko saņem citi izdevumi.

0:54 13:45, pirmā lapa. 13:49, Hacker News ir pavediens par statusa lapu, kas joprojām norāda, ka visas sistēmas darbojas. Noteikums beidzas ar punktu-zvaigzni, punktu-zvaigzni, vienāds, punktu-zvaigzni: jebkas, tad jebkas, tad vienādības zīme. PCRE min alkatīgi, neizdodas un atkāpjas cauri katram citam sadalījumam. x vienāds x prasa 23 soļus. Divdesmit x pēc vienādības zīmes: 555.

1:15 Divdesmit x, bez vienādības zīmes: 4067 soļi, lai neko neatrastu. Palaidiet to ar katru pieprasījumu, un katrs kodols ir simts procentu apmērā, rūpīgi neko nedarot. Diviem sargiem vajadzēja to pamanīt. CPU ierobežojums noteikumiem tika kļūdaini noņemts nedēļas agrāk, refaktorizācijā, kuras mērķis bija panākt, lai WAF izmantotu mazāk CPU. Un procedūra ļauj jebkuram noteikumam izlaist testēšanas posmu, jo noteikumi pastāv, lai apturētu reālus uzbrukumus; šis nebija ārkārtas gadījums, un tas tik un tā kļuva globāls.

1:37 14:00, WAF ir identificēts; nav uzbrukuma. 14:02, kāds ierosina globālu pārtraukšanu: viens komponents, izslēgts, visā pasaulē. Slēdzis atrodas aiz Cloudflare Access. Cloudflare Access atrodas aiz Cloudflare. Dažu akreditācijas datu derīguma termiņš ir beidzies neizmantošanas dēļ, tāpēc ātrākais tīkls internetā pavada piecas minūtes, veicot apvedceļu, ko neviens nav apmācījis. 14:07, nogalināt. 14:09, datplūsma normāla. git vaina: ieviešana ar vienu ātrumu, globāla; CPU aizsardzība nejauši refaktorēta prom;

2:04 regulāro izteiksmju dzinējs bez augšējās robežas. Nav inženieris, kurš rakstīja noteikumu: pēcnāves analīze uzskaita vienpadsmit cēloņus un neviens nav nosaukts. Sprādziena rādiuss: 27 minūtes, 82 procenti datplūsmas, 100 procenti CPU uz katra kodola, katrā pilsētā. Informācijas panelis un API atrodas aiz tās pašas malas, tāpēc klienti pat nevar to izslēgt. Hacker News, zem pēcnāves analīzes: viņiem bija viena problēma, izmantoja regulāru izteiksmi, tagad viņiem ir divas. Vecs joks. Joprojām kompilējas.

2:28 Spriedums, pēcnāves analīze: SHIP IT. CPU aizsardzība ir atpakaļ, visi 3868 noteikumi tiek nolasīti ar roku, noteikumi tiek izieti cauri testēšanas posmiem, un dzinējs pāriet uz tādu ar lineārā laika garantijām, ko publicēja Kens Tompsons 1968. gadā. Pirmdiena: bez punktu-zvaigznes punktu-zvaigznes jebkurā, kas darbojas pēc pieprasījuma, un turiet avārijas slēdzi prom no tā, ko tas nogalina. Nosūtiet man incidentu, par kuru jums joprojām nav atļauts runāt, komentāros vai daily diff dot dev.

2:53 Un tas ir šodienas atšķirība. Esmu Niko no Axrisi. Apvienot atbildīgi.

## Avoti

- [John Graham-Cumming, "Details of the Cloudflare outage on July 2, 2019" (Jul 12, 2019)](https://blog.cloudflare.com/details-of-the-cloudflare-outage-on-july-2-2019/) — blog.cloudflare.com
- [Matthew Prince, "Cloudflare outage caused by bad software deploy (updated)" (Jul 2, 2019)](https://blog.cloudflare.com/cloudflare-outage/) — blog.cloudflare.com
- [Matthew Prince on X, Jul 2, 2019, 14:22 UTC](https://x.com/eastdakota/status/1146061591143538688) — x.com
- [Matthew Prince on X, Jul 2, 2019, 14:36 UTC ("No evidence yet attack related")](https://x.com/eastdakota/status/1146065231270907907) — x.com
- [Hacker News, Jul 2, 2019, 13:49 UTC — "Cloudflare Network Performance Issues" (631 points)](https://news.ycombinator.com/item?id=20334924) — news.ycombinator.com
- [Hacker News, Jul 2, 2019 — "Cloudflare outage caused by bad software deploy" (348 points)](https://news.ycombinator.com/item?id=20336332) — news.ycombinator.com
- [Hacker News, Jul 12, 2019 — "Details of the Cloudflare outage on July 2, 2019" (698 points)](https://news.ycombinator.com/item?id=20421538) — news.ycombinator.com
- [TechCrunch, Jul 2, 2019](https://techcrunch.com/2019/07/02/a-cloudflare-outage-is-impacting-sites-everywhere/) — techcrunch.com
