504
Gateway Timeout
Yleinen selitys 504-tilakoodista
HTP-virhe 504 Gateway Timeout ilmenee, kun palvelin yrittää vastata asiakkaan pyyntöön, mutta ei pysty siihen kohtuullisessa ajassa. Tätä virhettä kutsutaan yleensä "yhdyskäytävän aikakatkaisuksi", koska se esiintyy usein silloin, kun välityspalvelin tai yhdyskäytävä, joka välittää asiakkaan ja palvelimen välillä, ei pysty muodostamaan yhteyttä tai vastaanottamaan vastausta palvelimelta. Tähän voi olla useita syitä, kuten palvelimen ylikuormitus, verkko-ongelmat tai välityspalvelimen tai yhdyskäytävän riittämätön konfigurointi.
.HTTP-tilakoodin 504 määrittely
Lähde / Lainaus: HTTP-tilakoodi 504 Gateway Timeout on määritelty 6.6.5:n RFC7231 kohdassa RFC7231.
HTTP-protokolla
Kuinka heittää 504-tilakoodi PHP:llä?
HTTP-tilakoodin 504 heittämiseen verkkosivulle voidaan käyttää PHP-funktiota http_response_code. Syntaksi on seuraava: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testaa HTTP-tilakoodi 504
Jotta HTTP-tilakoodi (tässä tapauksessa 504 Gateway Timeout) ja muut tiedot voidaan näyttää asiakaspuolella, kehityskonsoli on avattava F12-näppäimellä. Siirry sitten "Network"-välilehdelle. Nyt sivu voidaan avata, verkkosivuston (esimerkki index.php) pitäisi näkyä verkko-välilehdellä. Tämä on valittava ja sen jälkeen on valittava Herder-osio. Käyttäjä näkee sitten seuraavan tuloksen:
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Tila: 504 Gateway Timeout
Nuo: Network
IP-osoite: XX.XX.XX.XX
Miten ratkaisen 504-tilakoodiin liittyvän ongelman?
HTTP-virhe 504 Gateway Timeout "Gateway Timeout" voi ilmetä useista eri syistä, kuten:
- Palvelimen ylikuormitus: Jos palvelin vastaanottaa liikaa pyyntöjä eikä pysty vastaamaan niihin kohtuullisessa ajassa, voi ilmetä aikakatkaisuvirhe. Tämä voidaan ratkaista skaalaamalla palvelinta tai lisäämällä resursseja, kuten suorittimen, RAM-muistin tai tallennustilan määrää.
- Verkko-ongelmat: Aikakatkaisuvirhe voi ilmetä myös, jos asiakkaan ja palvelimen välisessä verkkoyhteydessä on ongelmia. Tämä voidaan korjata tarkistamalla verkkoyhteys, tarkistamalla reitittimen tai palomuurin määritykset tai käynnistämällä verkkokomponentit uudelleen.
- Proxy- tai yhdyskäytäväongelmat: Myös asiakkaan ja palvelimen välillä välittävä yhdyskäytävä tai välityspalvelin voi aiheuttaa aikakatkaisuvirheen. Tämä voidaan korjata tarkistamalla ja säätämällä välityspalvelimen tai yhdyskäytävän asetuksia.
- Hidas sovellus tai tietokanta: Jos sovellus tai tietokanta toimii hitaasti, myös tämä voi aiheuttaa aikakatkaisuvirheen. Tämä voidaan korjata optimoimalla sovellus tai tietokanta.
Ongelman ratkaisemiseksi voidaan ryhtyä seuraaviin toimenpiteisiin:
- Tarkista palvelimen tila ja varmista, ettei se ole ylikuormittunut.
- Tarkista verkkoyhteys ja varmista, että se on vakaa ja luotettava.
- Tarkista välityspalvelinten tai yhdyskäytävien konfiguraatio ja säädä sitä tarvittaessa.
- Optimoi sovellus tai tietokanta sen suorituskyvyn parantamiseksi.
- Verkon komponenttien tai palvelimien uudelleenkäynnistäminen voi myös auttaa korjaamaan ongelman.
Monissa tapauksissa näiden toimenpiteiden yhdistelmä voi ratkaista ongelman.
Miten luoda oma virhesivu tilakoodille 504?
Apache Webserver
Verkkopalvelin "Apache" on yksi Internetin yleisimmistä verkkopalvelimista. Jotta voit luoda oman 504 Gateway Timeout-virhesivun "Apachessa", seuraavaan tiedostoon on tehtävä seuraava muutos.
NGINX Webserver
Samanlainen kuin verkkopalvelin "Apache", "NGINX" on myös laajalti käytössä Internetissä. Jotta voit luoda oman 504 Gateway Timeout-virhesivun "NGINX"-palvelimessa, seuraavaan tiedostoon on tehtävä seuraava muutos.
location = /504.html {
root /usr/share/nginx/html;
internal;
}
Selainyhteensopivuus 504-tilakoodin kanssa
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
Vakiot ohjelmointikielissä
HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout