ਉਹ ਵਿਊ ਕਾਊਂਟਰ ਜਿਸ ਸਾਡੇ ਕੈਟਾਲਾਗ ਨੂੰ 502 ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ
ਸ਼ਿਪਿੰਗ
ਉਹ ਪੇਜ ਜੋ ਸਾਡੇ ਵੇਚੇ ਗਏ ਹਰ ਕਿੱਟ ਦੀ ਸੂਚੀ ਦਿੰਦਾ ਹੈ, ਲਾਂਚ ਤੋਂ ਬਾਅਦ ਲਗਭਗ 41 ਘੰਟਿਆਂ ਤੱਕ ਹਰ ਵਿਜ਼ਿਟਰ ਨੂੰ 502 Bad Gateway ਨਾਲ ਜਵਾਬ ਦਿੰਦਾ ਰਿਹਾ। ਹਰ ਕਿੱਟ ਦਾ ਆਪਣਾ ਪੇਜ ਠੀਕ ਸੀ, ਹੋਮ ਪੇਜ ਠੀਕ ਸੀ, ਚੈੱਕਆਊਟ ਠੀਕ ਸੀ। ਟੁੱਟਿਆ ਹੋਇਆ ਹਿੱਸਾ ਪੇਜ ਵੇਖਣ ਦੀ ਗਿਣਤੀ ਕਰਨ ਵਾਲੀਆਂ ਕੁਝ ਲਾਈਨਾਂ ਸਨ।
ਬੱਗ
ਸਾਡੇ ਸਟੋਰ ਦਾ ਸਰਵਰ ਕਿੱਟ ਪੇਜਾਂ 'ਤੇ ਆਉਣ ਵਾਲੀਆਂ ਵਿਜ਼ਿਟਾਂ ਦੀ ਗਿਣਤੀ ਕਰਦਾ ਹੈ। ਇਹ ਪਤਾ ਲਗਾਉਣ ਲਈ ਕਿ ਕਿਹੜੀ ਕਿੱਟ ਲਈ ਰਿਕਵੈਸਟ ਹੈ, ਇਹ ਪਾਥ ਦਾ ਦੂਜਾ ਹਿੱਸਾ ਲੈਂਦਾ ਹੈ:
self._count_view(path.strip("/").split("/")[1] if path.count("/") >= 2 else "")
/kits/studio/ ਲਈ ਇਹ studio ਹੈ। ਕੈਟਾਲਾਗ ਲਈ, /kits/, ਪਾਥ ਵਿੱਚ ਦੋ ਸਲੈਸ਼ ਹਨ, ਇਸ ਲਈ ਗਾਰਡ ਨੇ ਇਸਨੂੰ ਅੱਗੇ ਭੇਜ ਦਿੱਤਾ, ਪਰ ਸਲੈਸ਼ ਹਟਾਉਣ ਤੋਂ ਬਾਅਦ ਸਿਰਫ਼ ਇੱਕ ਹਿੱਸਾ ਬਚਦਾ ਹੈ, ਅਤੇ [1] ਨੇ IndexError ਉਠਾਇਆ। ਹੈਂਡਲਰ Python ਦਾ ਸਟੈਂਡਰਡ http.server ਹੈ: do_GET ਵਿੱਚ ਅਪਵਾਦ ਹੋਣ 'ਤੇ ਕਨੈਕਸ਼ਨ ਬਿਨਾਂ ਜਵਾਬ ਦੇ ਬੰਦ ਹੋ ਜਾਂਦਾ ਹੈ, ਅਤੇ Cloudflare ਨੇ ਵਿਜ਼ਿਟਰ ਨੂੰ 502 ਦਿਖਾਇਆ।
ਫਿਕਸ ਇੱਕ ਛੋਟਾ ਫੰਕਸ਼ਨ ਹੈ ਜੋ ਹਿੱਸਾ ਗਾਇਬ ਹੋਣ 'ਤੇ ਖਾਲੀ ਸਟ੍ਰਿੰਗ ਵਾਪਸ ਦਿੰਦਾ ਹੈ। ਵਿਊ ਕਾਊਂਟ ਨੂੰ ਸਿਰਫ਼ ਕਿੱਟ ਦਾ ਨਾਮ ਚਾਹੀਦਾ ਸੀ; ਇਸਨੂੰ ਕਦੇ ਵੀ ਉਸ ਪੇਜ ਨੂੰ ਤੋੜਨ ਦੀ ਲੋੜ ਨਹੀਂ ਸੀ ਜਿਸਦੀ ਇਹ ਗਿਣਤੀ ਕਰ ਰਿਹਾ ਸੀ।
ਸਾਡੀਆਂ ਕੋਈ ਵੀ ਜਾਂਚਾਂ ਇਸਨੂੰ ਕਿਉਂ ਨਹੀਂ ਦੇਖ ਸਕੀਆਂ
- ਅਪਟਾਈਮ ਵਾਚਡੌਗ ਸਿਰਫ਼ ਹੋਮ ਪੇਜ ਖੋਲ੍ਹਦਾ ਸੀ। ਹੋਮ ਪੇਜ ਠੀਕ ਸੀ।
- ਰਿਲੀਜ਼ ਸਟੈਪ ਹਰ ਉਸ ਕਿੱਟ ਦੀ ਜਾਂਚ ਕਰਦਾ ਸੀ ਜਿਸਨੂੰ ਇਹ ਭੇਜਦਾ ਸੀ: ਉਸਦਾ ਪੇਜ, ਉਸਦਾ ਚੈੱਕਆਊਟ ਰੀਡਾਇਰੈਕਟ, ਪੇਡ ਪਾਥ ਸ਼ੁਰੂ ਤੋਂ ਅੰਤ ਤੱਕ। ਇਹ ਕਦੇ ਵੀ ਸਾਰੀਆਂ ਕਿੱਟਾਂ ਦੀ ਸੂਚੀ ਨਹੀਂ ਖੋਲ੍ਹਦਾ ਸੀ।
- ਐਨਾਲਿਟਿਕਸ ਇਸਨੂੰ ਦਿਖਾ ਨਹੀਂ ਸਕਿਆ। ਉਹ ਕੋਡ ਜੋ ਕੈਟਾਲਾਗ ਦੇ ਵਿਜ਼ਿਟਰਾਂ ਦੀ ਗਿਣਤੀ ਕਰਦਾ, ਉਹੀ ਕੋਡ ਕ੍ਰੈਸ਼ ਹੋਇਆ ਸੀ। ਸਰਵਰ ਲਾਗ ਵਿੱਚ ਜਵਾਬ ਪਹਿਲਾਂ ਹੀ ਸੀ: ਉਹਨਾਂ 41 ਘੰਟਿਆਂ ਵਿੱਚ 17 ਟ੍ਰੇਸਬੈਕ, ਹਰ ਇੱਕ ਇੱਕ ਰਿਕਵੈਸਟ ਸੀ, ਕਿਸੇ ਵਿਅਕਤੀ ਜਾਂ ਕ੍ਰਾਲਰ ਵੱਲੋਂ, ਜਿਸਨੂੰ ਪੇਜ ਦੀ ਥਾਂ ਇੱਕ ਗਲਤੀ ਮਿਲੀ।
ਕੀ ਬਦਲਿਆ
- ਹਰ ਪੇਜ, ਬਾਹਰੋਂ, ਹਰ ਘੰਟੇ। ਇੱਕ ਛੋਟਾ ਜੌਬ ਸਾਈਟਮੈਪ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ Cloudflare ਰਾਹੀਂ ਇੱਕ ਵਿਜ਼ਿਟਰ ਵਾਂਗ ਹਰ ਅੰਗਰੇਜ਼ੀ ਪੇਜ ਅਤੇ, ਬਾਰੀ ਬਾਰੀ, ਬਾਕੀ 42 ਭਾਸ਼ਾਵਾਂ ਵਿੱਚੋਂ ਇੱਕ ਖੋਲ੍ਹਦਾ ਹੈ। ਲਗਾਤਾਰ ਦੋ ਅਸਫਲ ਰਨ ਈਮੇਲ ਭੇਜਦੇ ਹਨ; ਰਿਕਵਰੀ ਦੂਜੀ ਈਮੇਲ ਭੇਜਦਾ ਹੈ।
- ਰਿਲੀਜ਼ ਸਟੈਪ ਸਾਈਟ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ ਹਰ ਅੰਗਰੇਜ਼ੀ ਪੇਜ ਖੋਲ੍ਹਦਾ ਹੈ, ਅਤੇ ਖਤਮ ਹੋਣ ਤੋਂ ਇਨਕਾਰ ਕਰ ਦਿੰਦਾ ਹੈ ਜੇਕਰ ਕੋਈ ਇੱਕ 200 ਨਾਲ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦਾ।
- ਇੰਡੈਕਸ ਪੇਜ ਵੀ ਪੇਜ ਮੰਨੇ ਜਾਂਦੇ ਹਨ। ਉਹ ਪੇਜ ਜੋ ਹੋਰ ਪੇਜਾਂ ਦੀ ਸੂਚੀ ਦਿੰਦੇ ਹਨ, ਉਹੀ ਪੇਜ ਹਨ ਜਿੱਥੇ ਵਿਜ਼ਿਟਰ ਪਹਿਲਾਂ ਪਹੁੰਚਦੇ ਹਨ, ਅਤੇ ਉਹੀ ਉਹ ਪੇਜ ਸਨ ਜਿਹਨਾਂ ਦੀ ਕਿਸੇ ਨੇ ਜਾਂਚ ਨਹੀਂ ਕੀਤੀ ਸੀ।
ਸਿੱਖ
ਰਿਕਵੈਸਟ ਹੈਂਡਲਰ ਵਿੱਚ ਸਾਈਡ ਵਰਕ, ਜਿਵੇਂ ਕਿ ਗਿਣਤੀ, ਲੌਗਿੰਗ ਜਾਂ ਟਰੈਕਿੰਗ, ਕਦੇ ਵੀ ਰਿਕਵੈਸਟ ਨੂੰ ਫੇਲ੍ਹ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਅਤੇ ਇੱਕ ਪੇਜ ਚੈੱਕ ਜੋ ਸਿਰਫ਼ ਉਨ੍ਹਾਂ ਪੇਜਾਂ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਹੁਣੇ ਬਦਲਿਆ ਹੈ, ਉਨ੍ਹਾਂ ਪੇਜਾਂ ਨੂੰ ਛੱਡ ਦਿੰਦਾ ਹੈ ਜੋ ਉਨ੍ਹਾਂ ਨਾਲ ਲਿੰਕ ਕਰਦੇ ਹਨ। Night Watch ਵਿੱਚ ਵਾਚ ਕਿਸੇ ਵੀ ਪੇਜਾਂ ਦੀ ਸੂਚੀ ਲੈਂਦਾ ਹੈ, ਹਰੇਕ ਨਾਲ ਉਹ ਟੈਕਸਟ ਜਿਸਦੇ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ, ਸਿਰਫ਼ ਹੋਮ ਪੇਜਜ਼ ਨਹੀਂ।