全部产品
Search
文档中心

:Ketika SLB digunakan, akses situs normal tetapi pengecekan kesehatan menunjukkan pengecualian

更新时间:Nov 10, 2025

Pertanyaan

Instans SLB menggunakan pendengar HTTP dan dikonfigurasi dengan metode HEAD untuk pemeriksaan kesehatan. Pengecualian ditampilkan dalam pemeriksaan kesehatan meskipun situs bisnis dapat diakses secara normal. Untuk mensimulasikan pemeriksaan kesehatan, Anda dapat menggunakan metode HEAD dan menjalankan perintah nc untuk menguji status situs bisnis. Contoh perintah adalah sebagai berikut:

echo -e "HEAD /test.html HTTP/1.0\r\n\r\n" | nc -t www.example.com 80
Catatan

Catatan: test.html dan www.example.com dalam perintah hanya contoh. Situasi sebenarnya digunakan di situs.

Kode status HTTP 404 dikembalikan sebagai berikut:

Untuk perbandingan, jalankan perintah curl untuk menguji status situs bisnis.

curl -I http://www.example.com/test.html

Gambar berikut menunjukkan bahwa nilai kode status HTTP adalah 200, yang normal dan berbeda dari metode HEAD serta perintah nc.

Masalah utama yang disebutkan di atas adalah sebagai berikut:

  • Masalah 1: Situs layanan dapat diakses secara normal, mengapa pemeriksaan kesehatan SLB dan tes simulasi dalam metode HEAD serta perintah nc menampilkan pengecualian situs tetapi perintah curl menampilkan situs berjalan normal?

  • Masalah 2: Kode status HTTP yang dikembalikan oleh situs layanan adalah 404. Mengapa pemeriksaan kesehatan abnormal?

Penyebab

Penyebab masalah di atas adalah sebagai berikut:

  • Masalah 1: Alasan hasil yang berbeda adalah sebagai berikut:

    • Perintah curl: Perintah curl sesuai dengan hasil yang dikembalikan oleh browser. File sumber daya di bawah domain yang diminta diakses, yaitu file test.html di bawah nama domain www.example.com.

    • Pemeriksaan kesehatan instans SLB: Jika tidak ada nama domain pemeriksaan kesehatan yang dikonfigurasikan untuk instans SLB, nama domain permintaan untuk pemeriksaan kesehatan adalah alamat IP server backend, seperti 192.0.2.1. File tidak ditemukan, sehingga kode status HTTP 404 dikembalikan.

      Catatan

      Catatan: Berikut ini mengambil konfigurasi default Nginx sebagai contoh. Konfigurasi default Nginx berisi situs web default.

    • Metode HEAD dan simulasi tes perintah nc: Metode HEAD itu sendiri baik-baik saja, tetapi perintah nc meneruskan permintaan ke alamat IP yang sesuai dengan nama domain, yang sama dengan pemeriksaan kesehatan instans SLB. Permintaan akhir akan menuju ke situs default server Web, sehingga kode status HTTP 404 dikembalikan.

  • Masalah 2: Secara default, konfigurasi pemeriksaan kesehatan instans SLB menggunakan http_2xx dan http_3xx sebagai kode status normal. Semua kode status lainnya diidentifikasi sebagai kode status abnormal. HTTP 404 termasuk dalam http_4xx, sehingga dianggap sebagai pengecualian situs oleh pemeriksaan kesehatan.

Jawaban

Topik ini memberikan solusi berbeda untuk masalah yang berbeda.

  • Masalah 1: Mengenai masalah ini, ada dua solusi, Anda dapat memilih sesuai dengan situasi sebenarnya:

    • Tingkatkan konfigurasi pemeriksaan kesehatan instans SLB. Anda dapat masuk ke instans SLB untuk menyempurnakan konfigurasi pemeriksaan kesehatan jalur pemeriksaan kesehatan dan opsi domain pemeriksaan kesehatan. Sebagai contoh, Anda dapat mengatur domain pemeriksaan kesehatan untuk www.example.com, jalur pemeriksaan kesehatan untuk /test.html. Untuk informasi lebih lanjut tentang cara mengonfigurasi pemeriksaan kesehatan dan kedua opsi ini, lihat konfigurasi pemeriksaan kesehatan.

    • Nonaktifkan situs default untuk server Web Anda. Anda dapat mengubah file konfigurasi server Web untuk menonaktifkan situs default. Metode konfigurasi bervariasi menurut server Web. Prosedur berikut menggunakan server Nginx sebagai contoh.

      1. Masuk secara remote ke server tempat Nginx diinstal.

      2. Temukan file konfigurasi utama untuk Nginx. Jalur default adalah /etc/nginx/nginx.conf. Jika Nginx diinstal menggunakan kode sumber, Anda dapat mengonfirmasi jalur file konfigurasi utama Nginx.

      3. Edit file konfigurasi utama Nginx, temukan segmen konfigurasi server yang ditandai sebagai default_server, komentari segmen kode ini dengan tanda pagar (#), dan keluar serta simpan file.

      4. Jalankan perintah berikut untuk memastikan bahwa file konfigurasi yang diperbarui normal:

        nginx -t

        Jika sistem mengembalikan pengecualian, perbaiki sesuai petunjuk sampai sistem mengembalikan hal berikut.

        nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
        nginx: configuration file /etc/nginx/nginx.conf test is successful
        

      5. Jalankan perintah berikut untuk memuat ulang file konfigurasi Nginx:

        nginx -s reload

      6. Periksa kembali status instans pemeriksaan kesehatan.

  • Masalah 2: Anda dapat memilih pemeriksaan kesehatan HTTP yang berada dalam status normal dalam konfigurasi kode status instans SLB Anda berdasarkan kebutuhan bisnis Anda. Jika Anda tidak menganggap HTTP 404 sebagai pengecualian situs, Anda dapat memilih http_4xx sebagai kode status normal. Untuk informasi lebih lanjut tentang cara Memeriksa Kesehatan instans SLB, lihat konfigurasi pemeriksaan kesehatan.

Ruang lingkup aplikasi

  • SLB