Berbagi teknologi

Analisis prinsip dan solusi untuk 502 Bad Gateway yang muncul di browser

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Kata pengantar

Masalah seperti ini umumnya dianggap sebagai penyakit yang sulit disembuhkan

1. Seperti yang ditunjukkan pada pertanyaan

Masukkan deskripsi gambar di sini

2. Prinsip analisis

502 Kesalahan Gateway yang buruk menunjukkan bahwa server menerima respons yang tidak valid dari server upstream saat bertindak sebagai gateway atau proksi.

Biasanya terjadi pada jaringan yang bertindak sebagai proxy atau gatewayserveraktif, seperti Nginx, Apache atau penyeimbang beban

Secara umum, situasi ini terutama berkisar pada analisis isu-isu berikut:

  • Server hulu sedang down: Server upstream mungkin tidak aktif karena berbagai alasan, termasuk kegagalan perangkat keras, kerusakan perangkat lunak, atau masalah jaringan.

  • Server kelebihan beban: Server upstream mungkin kelebihan beban karena memproses terlalu banyak permintaan, sehingga mengakibatkan ketidakmampuan untuk merespons tepat waktu.

  • masalah internet: Mungkin ada masalah dengan koneksi jaringan antar server, seperti waktu habis, kehilangan paket, dll., yang mengakibatkan ketidakmampuan untuk membuat koneksi yang stabil.

  • Masalah DNS: Kesalahan resolusi DNS dapat mencegah server menemukan alamat IP server upstream yang benar

3. Solusi

  1. Pertama periksa apakah Anda dapat melakukan ping ke alamat IP yang sesuai.

  2. Periksa DNS, atau segarkan cache resolusi DNS (ipconfig /flushdns

Masukkan deskripsi gambar di sini

Hal di atas dapat dengan mudah diperiksa oleh personel pelanggan.

Jika Anda seorang pengembang, Anda membutuhkannya

  1. Periksa status server hulu : Memastikan server upstream berfungsi dengan baik dan mampu menangani permintaan.Status server upstream dapat diperiksa dengan mengaksesnya secara langsung

  2. Periksa beban server : Pastikan server upstream tidak kelebihan beban.Jika bebannya terlalu tinggi, pertimbangkan untuk menambah sumber daya server atau mengoptimalkan kinerja aplikasi

Logika umumnya adalah sebagai berikut:

  • Periksa log kesalahan Nginx: Periksa log kesalahan di server Nginx, biasanya terletak di /var/log/nginx/error.log, untuk menentukan penyebab spesifik kesalahan tersebut
tail -f /var/log/nginx/error.log
  • 1
  • Periksa status server hulu: Akses langsung server upstream melalui curl atau browser untuk memeriksa status responsnya
curl -I http://upstream_server_address
  • 1
  • Periksa konfigurasi Nginx: Pastikan Nginx dikonfigurasi dengan benar, terutama alamat direktif proxy_pass
location / {
    proxy_pass http://upstream_server_address;
}
  • 1
  • 2
  • 3
  • Periksa koneksi jaringan: Gunakan ping atau traceroute untuk memeriksa koneksi jaringan antara Nginx dan server upstream
ping upstream_server_address
traceroute upstream_server_address
  • 1
  • 2

Dalam pertarungan sebenarnya, dalam beberapa kasus, Anda dapat menyegarkan resolusi DNS.

Untuk sisi server, Anda dapat melakukan restartKonfigurasi Nginx

Secara umum, terdapat terlalu banyak permintaan, yang mengakibatkan ketidakmampuan untuk mengurai permintaan individual.