viimeksi päivitetty 09.maaliskuuta 2020
Herokun HTTP-reititin palvelee unstyled HTML: ää HTTP-tilakoodilla 503 (Palvelu ei saatavilla), kun sovelluksesi kohtaa järjestelmätason virheen tai kun ylläpitotila on käytössä.
muut virheet, kuten sovellusvirheet (a 404 tai 500), näyttävät sovelluksen virhesivun eikä Herokun virhesivua. Vain järjestelmätason virheet, jotka eivät johda vastaukseen, tai epämuodostunut yksi, näyttää Heroku virhe sivu käsitellään tässä.
virheenkorjaus
lokit ovat ensimmäinen paikka katsoa, kun käyttäjät ilmoittavat nähneensä Herokun virhesivut. Käytä heroku logs
– komentoa nähdäksesi sovelluksesi yhtenäisen tapahtumavirran ja hakemustasi tukevien Heroku-Alustan komponenttien tilan.
$ heroku logs2011-03-01T16:16:29-08:00 heroku: State changed from starting to crashed2011-03-01T16:16:59-08:00 heroku: at=error code=H10 desc="App crashed" method=GET path=/ host=myapp.herokuapp.com fwd=17.17.17.17 dyno= connect= service= status=503 bytes=
tässä esimerkissä reititin yritti palvella sovellukselle sivua, mutta web-prosessi kaatui. Lokimerkintä Error H10
sisältää virhekoodin H10
, joka tunnistaa tämän ongelman syyn. Katso täydellinen luettelo virhekoodit määrittää syy virhe näkemäsi.
jos haluat lisätietoja virheiden jäljittämisestä, jotka voivat johtaa virhesivujen syntymiseen, käy kirjautumisen artikkelissa. Jos haluat debug edelleen, oppia SSH osaksi dyno.
muokkaa sivuja
käyttäjille näkyvät sivut, kun sovellus kohtaa järjestelmävirheen tai on sijoitettu ylläpitotilaan, voidaan räätälöidä. Muokkaamalla näitä sivuja voit esittää johdonmukaisempaa käyttöliittymää käyttäjille.
luo ja tallenna mukautetut sivut
luo mukautetut sivut staattisena HTML: nä. Haluat ehkä käyttää oletuksena HTML tarjoama Heroku mallina:
- https://www.herokucdn.com/error-pages/application-error.html
- https://www.herokucdn.com/error-pages/no-such-app.html
- https://www.herokucdn.com/error-pages/maintenance-mode.html
- https://www.herokucdn.com/error-pages/ssl-cert-error.html
voit viitata HTML: n kuviin tai CSS: ään, kunhan käytät suhteellisia polkuja (esimerkiksi <img src="error.png">
) ja lataat muut varat samaan paikkaan HTML: n kanssa.
voit ylläpitää sivuja missä tahansa, joka voi palvella verkkosivuja. Suosittelemme lataamista Amazon S3. Jos käytät S3, älä unohda asettaa HTML ja kaikki varat ovat julkisesti luettavissa.
iframen suojausasetusten vuoksi mukautetun virhesivusi linkit eivät välttämättä toimi, ellet määritä HTML: ssä ”target=_blank”.
Configure your application
Set ERROR_PAGE_URL
and MAINTENANCE_PAGE_URL
config vars to the public accessible URLs of your custom pages:
$ heroku config:set \ ERROR_PAGE_URL=//s3.amazonaws.com/<your_bucket>/your_error_page.html \ MAINTENANCE_PAGE_URL=//s3.amazonaws.com/<your_bucket>/your_maintenance_page.html
testaus
huoltosivun testaamiseksi, tyyppi:
$ heroku maintenance:on$ heroku open
mukautettu sivu palvellaan ja sovelluslokit näyttävät H80-koodin kyseiselle web-osumalle, joka osoittaa, että ylläpitosivu on palveltu käyttäjälle.
$ heroku logs -p router -n 12010-10-08T17:44:18-07:00 heroku: at=info code=H80 desc="Maintenance mode" method=GET path=/ host=myapp.herokuapp.com fwd=17.17.17.17 dyno= connect= service= status=503 bytes=
testataksesi virhesivusi, voit työntää huonon käyttöönoton kuten syntaksivirheen avaimen asetustiedostoon tai luomalla sovelluksen polun, joka nukkuu 35 sekuntia (jolloin virhe H12-pyynnön aikakatkaisu käynnistyy. Käy app tai polku tällaisen virheen, kun katsot lokit:
$ heroku logs --tail2010-10-08T18:04:40-07:00 app: Sleeping 35 seconds before I serve this page2010-10-08T18:05:10-07:00 heroku: at=error code=H12 desc="Request timeout" method=GET path=/ host=myapp.herokuapp.com fwd=17.17.17.17 dyno=web.1 connect=6ms service=30001ms status=503 bytes=02010-10-08T18:05:15-07:00 app: Done sleeping
mukautettu virhesivu näkyy selaimessasi.
SSL
jos sivustoasi käytetään SSL: n kautta, jotkin selaimet näyttävät varoituksen tai virheen, jos huolto-ja virhesivuilla ei käytetä myös HTTPS-osoitetta. Muista käyttää vastaavia sovellus-ja virhesivun protokollia.