Jälkiraportti: Huono yhdyskäytävä
Tapahtumaraportti Logto-palvelun käyttökatkosta 2024-01-11 johtuen verkkotunnuksen uusimisen epäonnistumisesta.
Tapahtumaraportti Logto-palvelun käyttökatkosta 2024-01-11 johtuen verkkotunnuksen uusimisen epäonnistumisesta.
2024-01-11 Logto-palvelut kokivat käyttökatkoksen, jossa esiintyi paljon 502 Bad Gateway -virheitä.
logto.app -verkkotunnus vanheni, ja uusiminen epäonnistui.logto.app -verkkotunnus saattaa olla vanhentunut. Tarkistimme verkkotunnuksen rekisteröijän ja huomasimme, että verkkotunnus ei uusiutunut onnistuneesti ja oli vanhentunut.Verkkotunnuksemme uusitaan yleensä automaattisesti verkkotunnuksen rekisteröijän kautta. Tässä tapauksessa uusimisprosessi epäonnistui mahdollisen väärän konfiguraation vuoksi. Tämän seurauksena logto.app -verkkotunnus vanheni, ja DNS-tietueet päivitettiin osoittamaan rekisteröijän pysäköintisivulle.
Tällä hetkellä todennuspalvelu pysyy toiminnassa, mutta suurin osa pyynnöistä ei pääse siihen. Poikkeuksena on Logto:n ylläpidon vuokralaisten, jotka on sidottu auth.logto.io -verkkotunnukseen ja jotka ovat vanhenemisen ulkopuolella.
Todennuspalvelun lisäksi meillä on myös pilvipalvelu, joka ohjaa Logto-vuokralaisia ja palvelee Logto-pilvipalvelun konsolia (frontend-sovellus).
Kun käyttäjä käyttää Cloud Consolea, sovellus ei kutsu suoraan todennuspalvelua; sen sijaan se kutsuu Cloud-palvelua kaikissa hallintatoiminnoissaan.
Logto:n Management API:n mukaisesti suunnittelimme "Hallinnan API:n välityspäätepisteen" delegoimaan pyynnöt todennuspalvelulle. Koko virtaus näyttää tältä:
Koska *.logto.app -verkkotunnuksella on serfitikaattivirhe, Cloud-palvelu (Node.js) hylkää pyynnön ja heittää virheen.
Normaalisti pyyntövirheet käsitellään, jotta koko palvelu ei kaadu. Koska virhe kuitenkin välitettiin välitysmuodulista, nykyinen virheenkäsittelylogiikka ei pystynyt nappaamaan sitä, mikä johti palvelun kaatumiseen.
Vaikka jokaisella Logto-palvelulla on vähintään kolme replikaa, kaikki replikat kaatuivat helposti, koska virhe tapahtui melkein jokaisessa Cloud Consolen pyynnössä. Automaattisen palautumismekanismin käynnistymiseen kuluu aikaa, mikä aiheuttaa palvelun tilapäistilanteen.
Tästä syystä käyttäjät näkevät 502 Bad Gateway -virheitä (kaikki replikat kaatuivat). Kun Cloud-palvelu on ylhäällä, uudet ja uudelleen yrittävät Cloud Consolen pyynnöt tulevat, ja kaatumissilmukka jatkuu.
Kun Cloud-palvelu on poissa käytöstä, se vaikuttaa myös todennuspalveluun tietyille päätepisteille, enimmäkseen /api/.well-known/sign-in-exp. Tätä päätepistettä käytetään hakemaan kirjautumiskokemuksen kokoonpanoa, johon sisältyy liittimen tiedot, jotka on noudettava Cloud-palvelusta.
logto.app-sovellukselle.