Tıklama sayacı, katalog sayfamızı 502'ye çevirdi

Teslimat

Tüm Paketlerimizi listeleyen sayfa, lansmandan sonra yaklaşık 41 saat boyunca her ziyaretçiye 502 Bad Gateway yanıtı verdi. Her Paketin kendi sayfası çalışıyordu, ana sayfa çalışıyordu, ödeme çalışıyordu. Bozulan kısım, sayfa görüntülenmelerini sayan birkaç satırdı.

Hata

Mağazamızın sunucusu, Paket sayfalarına yapılan ziyaretleri sayar. Bir isteğin hangi Pakete ait olduğunu bulmak için, yolun ikinci bölümünü alır:

self._count_view(path.strip("/").split("/")[1] if path.count("/") >= 2 else "")

/kits/studio/ için bu studio'dur. Katalogun kendisi için, /kits/, yolda iki eğik çizgi olduğundan güvenlik kısıtı içeriye aldı, ancak eğik çizgileri temizledikten sonra geriye tek bir bölüm kalır ve [1] bir IndexError fırlattı. İşleyici, Python'un standart http.server'ıdır: do_GET içindeki bir istisna, yanıt vermeden bağlantıyı kapatır ve Cloudflare ziyaretçiye 502 gösterdi.

Düzeltme, bölüm eksik olduğunda boş bir dize döndüren küçük bir fonksiyondur. Görüntülenme sayacı yalnızca Paketin adına ihtiyaç duyar; saydığı sayfayı bozabilmesine hiç gerek yoktu.

Kontrollerimizin hiçbiri bunu neden görmedi

Neler değişti

Çıkarılacak ders

İstek işleyicisindeki yan işler (sayma, günlük kaydı veya izleme gibi) isteği asla başarısız kılmamalı ve yalnızca yeni değiştirdiğiniz sayfaları kapsayan bir sayfa kontrolü, bu sayfalara bağlantı veren diğer sayfaları gözden kaçırır. Night Watch içindeki gözetim mekanizması, yalnızca ana sayfalar değil, her biri bulunması gereken metinle birlikte herhangi bir sayfa listesini alır.

Güncellendi: