Bagaimana Cara Memperbaiki Kesalahan 502 Bad Gateway NGINX? (7 Metode)

Diterbitkan: 2023-04-20

Nginx adalah server web sumber terbuka terkenal yang sangat populer karena kinerja, skalabilitas, dan fleksibilitasnya. Namun, mirip dengan server web lainnya, Nginx dapat menghadapi kesalahan yang menghalangi kemampuannya untuk mengirimkan konten ke klien. Salah satu kesalahan tersebut adalah kesalahan 502 Bad Gateway Nginx.

Menemukan kesalahan bisa sangat membuat frustrasi dan membingungkan, terutama jika Anda tidak mahir secara teknis. Anda mungkin menemukan beberapa kesalahan menonjol yang serupa, seperti layar putih kematian, dan kesalahan membangun koneksi basis data. Tapi 502 bad gateway nginx error adalah salah satu yang sangat populer.

Mungkin ada beberapa kemungkinan alasan kesalahan ini terjadi dan oleh karena itu berbagai cara untuk memecahkannya. Dalam posting ini, kami akan memberi tahu Anda apa sebenarnya arti 502 bad gateway Nginx, kemungkinan penyebabnya, dan apa metode pemecahan masalah terbaik yang harus Anda ikuti.

Mari kita mulai!


Daftar isi
Apa itu Kesalahan 502 Bad Gateway Nginx?
Apa Penyebab Error 502 Bad Gateway Nginx?
Bagaimana Cara Memperbaiki 502 Bad Gateway Nginx?
Ringkasan
Pertanyaan yang Sering Diajukan

Baca: 15 Cara Mengatasi 502 Bad Gateway Error di Website Anda


Apa itu Kesalahan 502 Bad Gateway Nginx?

Error 502 Bad Gateway Nginx adalah kode status HTTP yang mewakili server yang bertindak sebagai gateway atau server proxy yang gagal menerima respons yang valid dari server upstream. Dalam kasus Nginx, kesalahan 502 bad gateway terjadi saat server tidak dapat membuat koneksi dengan server upstream atau saat server upstream mengembalikan respons yang tidak valid.

Kesalahan ini biasanya terlihat saat mencoba mengakses situs web atau aplikasi web yang dihosting di belakang proxy terbalik atau penyeimbang muatan.

Ada beberapa variasi 502 Bad gateway Nginx Error yang mungkin Anda temukan di berbagai situs. Misalnya:

  • Kesalahan HTTP 502- Gerbang Buruk
  • 502 Kesalahan Proksi
  • 502 Bad Gateway
  • 502 Layanan Dibebani Sementara
  • HTTP 502
  • 502 Bad Gateway nginx
  • Kesalahan 502

Apa Penyebab Error 502 Bad Gateway Nginx?

Ada beberapa alasan mengapa 502 Bad Gateway error dapat terjadi di Nginx, tetapi berikut adalah beberapa yang paling umum tercantum di bawah ini:

Kelebihan Server

Saat server backend menerima terlalu banyak permintaan, server dapat kelebihan beban dan gagal merespons dalam periode waktu habis. Ini menyebabkan kesalahan 502 karena server upstream tidak dapat memenuhi permintaan klien. Ukuran server yang tepat, alokasi sumber daya, penyeimbangan muatan, dan strategi penskalaan dapat mencegah kelebihan beban server.

Masalah Konektivitas

  • Masalah konektivitas dapat menyebabkan kesalahan 502 Bad Gateway di Nginx ketika ada masalah dengan koneksi jaringan antara server proxy terbalik dan server backend.
  • Ini dapat terjadi karena kemacetan jaringan, pengaturan jaringan yang salah konfigurasi, atau kegagalan perangkat keras.
  • Ketika server proxy terbalik mencoba untuk meneruskan permintaan ke server backend tetapi tidak dapat membuat koneksi, itu mengembalikan kesalahan 502 ke klien.
  • Kesalahan terjadi karena server proxy terbalik bertindak sebagai perantara antara klien dan server backend dan tidak dapat tersambung ke server backend untuk memenuhi permintaan klien.
  • Memecahkan masalah pengaturan jaringan, memeriksa aturan firewall, dan memantau lalu lintas jaringan dapat membantu memperbaiki masalah tersebut.

Masalah DNS

  • Masalah DNS dapat menyebabkan error 502 Bad Gateway di Nginx saat resolusi DNS untuk server backend gagal.
  • Ini dapat terjadi karena konfigurasi DNS yang salah, kegagalan server DNS, atau masalah caching DNS.
  • Saat klien mengirim permintaan ke server proxy balik, server proxy balik perlu menyelesaikan nama domain server backend ke alamat IP.
  • Jika resolusi DNS gagal, server proksi balik tidak dapat meneruskan permintaan ke server backend, mengakibatkan kesalahan 502 dikembalikan ke klien.

Baca: Apa itu DNS?


Pembatasan Firewall

  • Pembatasan firewall dapat menyebabkan kesalahan 502 Bad Gateway di Nginx saat firewall memblokir koneksi antara server proxy terbalik dan server backend.
  • Ini dapat terjadi ketika firewall dikonfigurasi untuk membatasi lalu lintas ke dan dari alamat IP atau port tertentu.
  • Ketika server proxy terbalik mencoba untuk terhubung ke server backend, tetapi firewall memblokir koneksi, itu mengembalikan kesalahan 502 ke klien.
  • Hal ini terjadi karena server proxy balik bertindak sebagai perantara antara klien dan server backend dan tidak dapat membuat sambungan dengan server backend untuk memenuhi permintaan klien.
  • Untuk memperbaiki masalah terkait firewall yang menyebabkan kesalahan 502, Anda mungkin perlu menyesuaikan aturan firewall untuk mengizinkan lalu lintas mengalir antara proxy terbalik dan server backend.

Bug Perangkat Lunak

  • Kesalahan Gateway Buruk 502 dapat terjadi karena bug perangkat lunak atau kesalahan konfigurasi di server proxy terbalik atau server backend.
  • Kesalahan ini dapat terjadi karena kesalahan pengkodean atau kesalahan konfigurasi modul atau aplikasi server.
  • Jika perangkat lunak atau konfigurasi salah satu server berisi bug, server tersebut mungkin gagal menangani permintaan atau merespons dalam periode waktu habis, yang mengakibatkan kesalahan 502 dikembalikan ke klien.
  • Untuk memperbaiki masalah terkait perangkat lunak yang menyebabkan kesalahan 502, Anda mungkin perlu memeriksa log proxy terbalik dan server backend untuk mengidentifikasi kesalahan atau pesan peringatan apa pun.

PHP-FMP terlalu lama untuk merespons

  • PHP-FPM (FastCGI Process Manager) dapat menyebabkan kesalahan 502 Bad Gateway di Nginx ketika gagal merespons dalam periode waktu habis atau mengalami kesalahan kritis.
  • Kesalahan ini dapat terjadi karena sumber daya yang tidak mencukupi, kesalahan konfigurasi, atau bug pada kode PHP.
  • PHP-FPM adalah cara populer untuk menjalankan aplikasi PHP di Nginx, di mana Nginx mengirimkan permintaan ke PHP-FPM dan memproses kode PHP dan mengembalikan hasilnya ke Nginx, yang kemudian mengirimkan respons kembali ke klien.
  • Untuk memperbaiki masalah terkait PHP-FPM, Anda mungkin perlu menyesuaikan konfigurasi PHP-FPM untuk menambah jumlah proses atau utas atau menyesuaikan pengaturan batas waktu.
  • Anda mungkin juga perlu memeriksa kode PHP untuk mengidentifikasi dan memperbaiki bug atau masalah performa apa pun.
  • Selain itu, memantau log server dan sumber daya sistem dapat membantu mengidentifikasi pola atau tren apa pun yang dapat mengindikasikan masalah yang lebih besar dengan PHP-FPM.

Baca baca: Bagaimana Cara Memperbaiki Kesalahan Waktu Habis HTTP 504 Gateway?


Bagaimana Cara Memperbaiki 502 Bad Gateway Nginx?

Berikut adalah beberapa solusi terbaik yang dapat Anda ikuti untuk memperbaiki kesalahan 502 Bad Gateway Nginx:

  • Periksa status Nginx
  • Periksa Status Server Backend
  • Periksa konfigurasi DNS
  • Periksa Konfigurasi Firewall
  • Tingkatkan Ukuran Buffer
  • Mulai ulang Server Nginx
  • Periksa status PHP-FPM

Periksa status Nginx

Hal pertama yang perlu Anda lakukan adalah memeriksa apakah Nginx berjalan dan merespons permintaan atau tidak. Untuk melakukan itu, jalankan perintah berikut yang diberikan di bawah ini:

Jika Nginx berjalan, Anda akan mendapatkan pesan keluaran seperti ini,

nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-10-11 10:25:41 UTC; 1 days ago
Docs: https://httpd.nginx.org/docs/2.4/

Jika Nginx tidak berjalan, Anda akan mendapatkan pesan keluaran seperti ini,

nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2022-10-11 10:25:41 UTC; 25s ago
Docs: https://httpd.nginx.org/docs/2.4/

Sekarang, jika Nginx tidak berjalan, Anda harus memulainya lagi dengan menggunakan perintah berikut,

systemctl start nginx

Periksa Status Server Backend

  • Masuk ke server proxy terbalik yang menghosting Nginx.
  • Buka jendela terminal dan jalankan perintah berikut:

curl -I http://backend-server-ip-address/

• Ganti “alamat-ip-server-backend” dengan alamat IP server backend Anda.

• Periksa kode status HTTP pada keluaran perintah. Jika server backend berjalan dengan benar, Anda akan melihat kode status 200 OK.

• Jika Anda menerima kode status selain 200, ini menunjukkan bahwa mungkin ada masalah dengan server backend. Anda dapat menyelidiki lebih lanjut masalah ini dengan memeriksa log server backend untuk mengidentifikasi kesalahan atau pesan peringatan apa pun.

Periksa konfigurasi DNS

Jika resolusi DNS gagal, server proksi terbalik tidak dapat meneruskan permintaan ke server backend, yang mengakibatkan kesalahan 502 Bad Gateway dikembalikan ke klien. Oleh karena itu, penting untuk memverifikasi bahwa konfigurasi DNS untuk server backend sudah benar.

Untuk memeriksa konfigurasi DNS, Anda dapat melakukan langkah-langkah berikut:

  • Masuk ke server proxy terbalik yang menghosting Nginx.
  • Buka jendela terminal dan jalankan perintah berikut:

nslookup backend-server-domain-name

Ganti "backend-server-domain-name" dengan nama domain server backend Anda.

• Periksa output dari perintah untuk memverifikasi bahwa alamat IP yang benar dikembalikan untuk server backend.

  • Jika keluaran perintah menunjukkan bahwa resolusi DNS gagal, mungkin ada masalah dengan konfigurasi DNS. Anda dapat menyelidiki lebih lanjut masalah ini dengan memeriksa setelan DNS untuk nama domain server backend, atau dengan menghubungi penyedia DNS Anda untuk mendapatkan bantuan.

Periksa Konfigurasi Firewall

Disarankan untuk memeriksa log firewall untuk blok yang tidak biasa. Terkadang Firewall juga mencegah atau memblokir situs. Untuk mengatasi masalah ini, Anda perlu menonaktifkan sementara firewall Anda dan memeriksa apakah masalah tetap ada atau sudah teratasi.

Tingkatkan Ukuran Buffer

Meningkatkan ukuran buffer memungkinkan Nginx menyimpan lebih banyak data dari respons server, memastikan bahwa respons selesai dan bebas dari kesalahan. Untuk menambah ukuran buffer, Anda perlu mengedit file konfigurasi Nginx dan menambahkan arahan berikut.

  • proxy_buffer_size : Mengatur ukuran setiap buffer. Nilai default biasanya 4K. Anda dapat meningkatkannya ke nilai yang lebih tinggi tergantung pada kebutuhan server Anda. Misalnya, untuk menyetel ukuran buffer ke 16K, tambahkan baris berikut ke file konfigurasi Anda:

proxy_buffer_size 16k;

  • proxy_buffers : Mengatur jumlah buffer yang akan dialokasikan. Nilai default biasanya 8. Anda dapat menaikkannya ke nilai yang lebih tinggi tergantung kebutuhan server Anda. Misalnya, untuk mengatur jumlah buffer menjadi 32 dan ukuran buffer menjadi 16K, tambahkan baris berikut ke file konfigurasi Anda:

proxy_buffers 32 16k;


Catatan: Perlu diperhatikan bahwa meningkatkan ukuran buffer dan jumlah buffer akan meningkatkan penggunaan memori di server. Jadi, Anda harus bereksperimen dengan berbagai ukuran buffer dan nomor buffer untuk menemukan setelan optimal untuk server dan aplikasi Anda.


  • Setelah melakukan perubahan pada file konfigurasi Nginx, simpan file dan mulai ulang Nginx agar perubahan diterapkan. Anda dapat melakukan ini dengan menjalankan perintah berikut:

sudo service nginx restart

Mulai ulang Server Nginx

Dalam beberapa kasus, hanya me-restart server Nginx dapat menyelesaikan kesalahan 502 bad gateway Nginx. Untuk melakukan ini,

Anda perlu menjalankan perintah di terminal atau shell Anda. Perintah yang tepat bergantung pada sistem operasi dan distribusi yang Anda gunakan, tetapi berikut beberapa contohnya:

  • Ubuntu dan Debian:

sudo service nginx restart

  • CentOS, Fedora, dan RHEL:

sudo systemctl restart nginx

  • macOS :

sudo nginx -s reload

Perintah-perintah ini akan me-restart server Nginx dengan anggun, yang berarti bahwa ia akan menunggu koneksi aktif apa pun selesai sebelum dimatikan dan dimulai lagi.

Periksa status PHP-FPM

Terkadang, error 502 Bad Gateway Nginx juga bisa dipicu oleh PHP-FPM yang tidak berjalan. Oleh karena itu, perlu dilakukan pengecekan status PHP-FPM untuk memastikannya berjalan dengan baik.

Untuk memeriksa status berjalan, Anda dapat menggunakan perintah berikut,

sudo service php-fpm status

Jika PHP-FPM sedang berjalan, Anda akan melihat pesan yang menyatakan bahwa itu aktif.

Namun, jika PHP-FPM tidak berjalan, Anda dapat mencoba memulai ulang menggunakan perintah berikut:

sudo service php-fpm restart

Perintah ini akan memulai kembali layanan PHP-FPM, yang dapat membantu menyelesaikan masalah apa pun yang mungkin memicu kesalahan 502 bad gateway Nginx.


Ringkasan

Kesalahan 502 Bad Gateway Nginx adalah kesalahan umum yang mungkin dialami pengguna Nginx. Ini biasanya disebabkan oleh masalah konektivitas, kelebihan server, masalah DNS, pembatasan firewall, atau bug perangkat lunak.

Namun, dengan mengikuti langkah-langkah yang diuraikan dalam artikel ini, Anda dapat memecahkan masalah dan mengatasi error 502 bad gateway nginx.

Jika tidak ada metode di atas yang berhasil untuk Anda, sayangnya, pertimbangkan untuk mencari bantuan dari forum Nginx atau konsultan Nginx yang sangat berpengalaman dan berkualifikasi.

Jika Anda memiliki tips atau saran terkait error 502 Bad Gateway Nginx yang mungkin kami lewatkan di postingan ini atau jika Anda ingin berbagi pengalaman Anda dengan hal yang sama, beri tahu kami di bagian komentar di bawah. Kami menyambut masukan Anda.


Baca: Bagaimana cara memperbaiki HTTP 500 Internal Server Error di WordPress?


Pertanyaan yang Sering Diajukan

Bagaimana cara memperbaiki 502 Bad gateway nginx?

Anda dapat memperbaiki kesalahan 502 Bad Gateway nginx dengan mengikuti metode di bawah ini:
1. Periksa status Nginx
2. Periksa Status Server Backend
3. Periksa konfigurasi DNS
4. Periksa Konfigurasi Firewall
5. Tingkatkan Ukuran Buffer
6. Mulai ulang Server Nginx
7. Periksa stat PHP-FPM

Bagaimana cara memeriksa status nginx saya?

Untuk memeriksa status nginx, Jalankan perintah berikut yang diberikan di bawah ini:
sistemctl status nginx
Output akan menunjukkan apakah nginx sedang berjalan atau tidak.

Apa itu 502 Bad gateway error?

Error 502 Bad Gateway Nginx adalah kode status HTTP yang mewakili server yang bertindak sebagai gateway atau server proxy yang gagal menerima respons yang valid dari server upstream.