504
Gateway Timeout
Γενική επεξήγηση του κωδικού κατάστασης 504
Το σφάλμα HTTP 504 Gateway Timeout εμφανίζεται όταν ένας διακομιστής προσπαθεί να απαντήσει σε ένα αίτημα από έναν πελάτη, αλλά δεν μπορεί να το κάνει μέσα σε εύλογο χρονικό διάστημα. Αυτό το σφάλμα αναφέρεται συνήθως ως "χρονικό όριο πύλης" επειδή συχνά εμφανίζεται όταν ένας διακομιστής μεσολάβησης ή μια πύλη που μεσολαβεί μεταξύ του πελάτη και του διακομιστή δεν είναι σε θέση να συνδεθεί ή να λάβει απάντηση από τον διακομιστή. Αυτό μπορεί να έχει διάφορους λόγους, όπως υπερφόρτωση του διακομιστή, προβλήματα δικτύου ή ανεπαρκείς ρυθμίσεις του διακομιστή μεσολάβησης ή της πύλης.
.Καθορισμός του κωδικού κατάστασης HTTP 504
Πηγή / Απόσπασμα από: Ο κωδικός κατάστασης HTTP 504 Gateway Timeout καθορίζεται από την ενότητα 6.6.5 του RFC7231.
Πρωτόκολλο HTTP
Πώς να πετάξετε έναν κωδικό κατάστασης 504 με την PHP;
Για την εμφάνιση του κωδικού κατάστασης HTTP 504 σε μια ιστοσελίδα, μπορεί να χρησιμοποιηθεί η συνάρτηση http_response_code της PHP. Η σύνταξη έχει ως εξής: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Δοκιμάστε τον κωδικό κατάστασης HTTP 504
Για να είναι δυνατή η εμφάνιση του κωδικού κατάστασης HTTP (στην προκειμένη περίπτωση 504 Gateway Timeout) και άλλων πληροφοριών στην πλευρά του πελάτη, η κονσόλα ανάπτυξης πρέπει να ανοίξει με το F12. Στη συνέχεια, μεταβείτε στην καρτέλα "Δίκτυο". Τώρα μπορεί να ανοίξει η σελίδα, ο ιστότοπος (παράδειγμα index.php) θα πρέπει να είναι ορατός στην καρτέλα δικτύου. Αυτή πρέπει να επιλεγεί και στη συνέχεια πρέπει να επιλεγεί το τμήμα Herder. Στη συνέχεια, ο χρήστης θα δει το ακόλουθο αποτέλεσμα:
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Κατάσταση: 504 Gateway Timeout
Αυτά τα: Network
Διεύθυνση IP: XX.XX.XX.XX
Πώς μπορώ να λύσω το πρόβλημα με τον κωδικό κατάστασης 504;
Υπάρχουν διάφοροι πιθανοί λόγοι για τους οποίους μπορεί να εμφανιστεί ένα σφάλμα HTTP 504 Gateway Timeout "Gateway Timeout", όπως:
- Υπερφόρτωση διακομιστή: Εάν ένας διακομιστής λαμβάνει πάρα πολλά αιτήματα και δεν είναι σε θέση να τα απαντήσει σε εύλογο χρονικό διάστημα, μπορεί να εμφανιστεί ένα σφάλμα timeout. Αυτό μπορεί να επιλυθεί με την κλιμάκωση του διακομιστή ή την προσθήκη πόρων, όπως CPU, RAM ή αποθηκευτικού χώρου.
- Προβλήματα δικτύου: Ένα σφάλμα χρονικού ορίου μπορεί επίσης να εμφανιστεί εάν υπάρχουν προβλήματα με τη σύνδεση δικτύου μεταξύ του πελάτη και του διακομιστή. Αυτό μπορεί να επιδιορθωθεί με τον έλεγχο της σύνδεσης δικτύου, τον έλεγχο των ρυθμίσεων του δρομολογητή ή του τείχους προστασίας ή την επανεκκίνηση των στοιχείων δικτύου.
- Προβλήματα μεσολάβησης ή πύλης: Μια πύλη ή ένας μεσάζων που μεσολαβεί μεταξύ του πελάτη και του διακομιστή μπορεί επίσης να προκαλέσει σφάλμα timeout. Αυτό μπορεί να διορθωθεί με τον έλεγχο και την προσαρμογή των ρυθμίσεων του διακομιστή μεσολάβησης ή της πύλης.
- Αργή εφαρμογή ή βάση δεδομένων: Εάν μια εφαρμογή ή βάση δεδομένων εκτελείται αργά, αυτό μπορεί επίσης να οδηγήσει σε σφάλμα χρονικού ορίου. Αυτό μπορεί να διορθωθεί με τη βελτιστοποίηση της εφαρμογής ή της βάσης δεδομένων.
Για την επίλυση του προβλήματος μπορούν να ληφθούν τα ακόλουθα μέτρα:
- Ελέγξτε την κατάσταση του διακομιστή και βεβαιωθείτε ότι δεν είναι υπερφορτωμένος.
- Ελέγξτε τη σύνδεση δικτύου και βεβαιωθείτε ότι είναι σταθερή και αξιόπιστη.
- Ελέγξτε τη διαμόρφωση των διακομιστών μεσολάβησης ή των πυλών και προσαρμόστε την, εάν είναι απαραίτητο.
- Βελτιστοποιήστε την εφαρμογή ή τη βάση δεδομένων για να βελτιώσετε την απόδοσή της.
- Η επανεκκίνηση των στοιχείων του δικτύου ή των διακομιστών μπορεί επίσης να βοηθήσει στη διόρθωση του προβλήματος.
Σε πολλές περιπτώσεις, ένας συνδυασμός αυτών των μέτρων μπορεί να λύσει το πρόβλημα.
Πώς να δημιουργήσετε τη δική σας σελίδα σφάλματος για τον κωδικό κατάστασης 504
Apache Webserver
Ο διακομιστής ιστού "Apache" είναι ένας από τους πιο διαδεδομένους διακομιστές ιστού στο Διαδίκτυο. Για να δημιουργήσετε τη δική σας σελίδα σφάλματος 504 Gateway Timeout στον "Apache", πρέπει να κάνετε την ακόλουθη αλλαγή στο ακόλουθο αρχείο.
NGINX Webserver
Παρόμοια με τον διακομιστή ιστού "Apache", ο "NGINX" χρησιμοποιείται επίσης ευρέως στο Διαδίκτυο. Για να δημιουργήσετε τη δική σας σελίδα σφάλματος 504 Gateway Timeout στο "NGINX", πρέπει να γίνει η ακόλουθη αλλαγή στο ακόλουθο αρχείο.
location = /504.html {
root /usr/share/nginx/html;
internal;
}
Συμβατότητα του κωδικού κατάστασης 504 με το πρόγραμμα περιήγησης
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 |
Σταθερές στις γλώσσες προγραμματισμού
HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout