ನಮ್ಮ ಕ್ಯಾಟಲಾಗ್ ಅನ್ನು 502 ಆಗಿ ಪರಿವರ್ತಿಸಿದ ವೀಕ್ಷಣೆ ಕೌಂಟರ್
ಶಿಪ್ಪಿಂಗ್
ನಾವು ಮಾರಾಟ ಮಾಡುವ ಪ್ರತಿಯೊಂದು ಸಾಫ್ಟ್ವೇರ್ ಕಿಟ್ ಅನ್ನು ಪಟ್ಟಿ ಮಾಡುವ ಪುಟವು, ಬಿಡುಗಡೆಯ ನಂತರ ಸುಮಾರು 41 ಗಂಟೆಗಳ ಕಾಲ ಪ್ರತಿಯೊಬ್ಬ ಭೇಟಿಗಾರರಿಗೆ 502 ಬ್ಯಾಡ್ ಗೇಟ್ವೇ ಎಂದು ಉತ್ತರಿಸಿತು. ಪ್ರತಿಯೊಂದು ಸಾಫ್ಟ್ವೇರ್ ಕಿಟ್ನ ಸ್ವಂತ ಪುಟ ಕೆಲಸ ಮಾಡಿತು, ಮುಖಪುಟ ಕೆಲಸ ಮಾಡಿತು, ಚೆಕ್ಔಟ್ ಕೆಲಸ ಮಾಡಿತು. ಹಾಳಾದ ಭಾಗವೆಂದರೆ ಪುಟ ವೀಕ್ಷಣೆಗಳನ್ನು ಎಣಿಸುತ್ತಿದ್ದ ಕೆಲವು ಸಾಲುಗಳು ಮಾತ್ರ.
ಬಗ್
ನಮ್ಮ ಸ್ಟೋರ್ನ ಸರ್ವರ್ ಸಾಫ್ಟ್ವೇರ್ ಕಿಟ್ ಪುಟಗಳಿಗೆ ಭೇಟಿಗಳನ್ನು ಎಣಿಸುತ್ತದೆ. ಯಾವ ಸಾಫ್ಟ್ವೇರ್ ಕಿಟ್ಗಾಗಿ ವಿನಂತಿ ಇದೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯಲು, ಅದು ಪಾತ್ನ ಎರಡನೇ ಭಾಗವನ್ನು ತೆಗೆದುಕೊಂಡಿತು:
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 ಟ್ರೇಸ್ಬ್ಯಾಕ್ಗಳು, ಪ್ರತಿಯೊಂದೂ ಒಂದು ವಿನಂತಿ, ಒಬ್ಬ ವ್ಯಕ್ತಿ ಅಥವಾ ಕ್ರಾಲ್ನಿಂದ, ಪುಟದ ಬದಲಿಗೆ ದೋಷವನ್ನು ಪಡೆದವು.
ಏನು ಬದಲಾಗಿದೆ
- ಪ್ರತಿಯೊಂದು ಪುಟ, ಹೊರಗಿನಿಂದ, ಪ್ರತಿ ಗಂಟೆಗೆ. ಒಂದು ಸಣ್ಣ ಜಾಬ್ ಸೈಟ್ಮ್ಯಾಪ್ ಅನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಇಂಗ್ಲಿಷ್ ಪುಟವನ್ನು ಮತ್ತು, ಪರ್ಯಾಯವಾಗಿ, ಇತರ 42 ಭಾಷೆಗಳಲ್ಲಿ ಒಂದನ್ನು, ಭೇಟಿಗಾರನಂತೆ Cloudflare ಮೂಲಕ ತೆರೆಯುತ್ತದೆ. ಸತತ ಎರಡು ವಿಫಲ ರನ್ಗಳು ಇಮೇಲ್ ಕಳುಹಿಸುತ್ತವೆ; ಚೇತರಿಕೆ ಇನ್ನೊಂದನ್ನು ಕಳುಹಿಸುತ್ತದೆ.
- ಬಿಡುಗಡೆ ಹಂತವು ಎಲ್ಲಾ ಇಂಗ್ಲಿಷ್ ಪುಟಗಳನ್ನು ತೆರೆಯುತ್ತದೆ ಸೈಟ್ ಅನ್ನು ಮರುನಿರ್ಮಿಸಿದ ನಂತರ, ಮತ್ತು ಒಂದು 200 ಅನ್ನು ಉತ್ತರಿಸದಿದ್ದರೆ ಮುಗಿಸಲು ನಿರಾಕರಿಸುತ್ತದೆ.
- ಇಂಡೆಕ್ಸ್ ಪುಟಗಳು ಪುಟಗಳಾಗಿ ಪರಿಗಣಿಸಲ್ಪಡುತ್ತವೆ. ಇತರ ಪುಟಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುವ ಪುಟಗಳನ್ನು ಭೇಟಿಗಾರರು ಮೊದಲು ತಲುಪುತ್ತಾರೆ, ಮತ್ತು ಅವುಗಳನ್ನು ಯಾರೂ ಪರೀಕ್ಷಿಸಿರಲಿಲ್ಲ.
ಮುಖ್ಯ ಅಂಶ
ಅಭ್ಯರ್ಥಿ ನಿರ್ವಹಣಾಕಾರರಲ್ಲಿ (request handler) ನಡೆಯುವ ಪಾರ್ಶ್ವ ಕೆಲಸಗಳು, ಉದಾಹರಣೆಗೆ ಎಣಿಕೆ, ಲಾಗಿಂಗ್ ಅಥವಾ ಟ್ರ್ಯಾಕಿಂಗ್, ಎಂದಿಗೂ ಅಭ್ಯರ್ಥಿಯನ್ನು ವಿಫಲಗೊಳಿಸಬಾರದು; ಮತ್ತು ನೀವು ಇತ್ತೀಚೆಗೆ ಬದಲಾಯಿಸಿದ ಪುಟಗಳನ್ನು ಮಾತ್ರ ಒಳಗೊಂಡಿರುವ ಪುಟ ಪರಿಶೀಲನೆಯು, ಅವುಗಳಿಗೆ ಲಿಂಕ್ ಆಗಿರುವ ಇತರ ಪುಟಗಳನ್ನು ತಪ್ಪಿಸಿಕೊಳ್ಳುತ್ತದೆ. Night Watch ನಲ್ಲಿರುವ ವಾಚ್ಡಾಗ್, ಕೇವಲ ಮುಖಪುಟಗಳನ್ನಷ್ಟೇ ಅಲ್ಲ, ಪ್ರತಿ ಪುಟದಲ್ಲಿ ಏನಾದರೂ ಪಠ್ಯ ಇರಬೇಕೆಂಬ ಷರತ್ತಿನೊಂದಿಗೆ ಯಾವುದೇ ಪುಟಗಳ ಪಟ್ಟಿಯನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ.