Saluran pengisian semula Alibaba Cloud: Sebab dan penyelesaian umum untuk kegagalan pemeriksaan kesihatan SLB yang kerap (Pemeriksaan Kesihatan)
Dalam kerja harian operasi dan penyelenggaraan laman web peringkat perusahaan dan pengoptimuman SEO, yang paling menyusahkan pasukan adalah "laman web tidak dapat dibuka sekali-sekala", "kelewatan akses tiba-tiba melambung" atau "maklum balas pengguna di beberapa kawasan diset semula."
Sebagai pengoptimum laman web SEO, saya menyedari kesan mematikan kebolehgunaan dan kestabilan laman web pada kedudukan mesin pencari. Sekiranya mesin pencari Spider (seperti Googlebot atau Baidubot) sering menemui 502 Bad Gateway atau 504 Gateway Timeout ketika merangkak laman web anda, mesin pencari akan dengan cepat menentukan bahawa laman web anda "tidak boleh dipercayai" dan secara langsung menurunkan frekuensi perayapan indeks, atau bahkan mengurangkan secara signifikan Kedudukan kata kunci.
Dalam seni bina pengkomputeran awan Alibaba Cloud, penggera seperti ini sering kali berasal dari yang sama di belakang tabir --
Alibaba Cloud Load Balancing (SLB / ALB / NLB) sering gagal dalam pemeriksaan kesihatan (Health Check Failed)
。
Apabila pemeriksaan kesihatan gagal, SLB akan menganggap bahawa contoh ECS tertentu di bahagian belakang "mati" dan berhenti mengedarkan lalu lintas kepadanya; dan jika pemeriksaan kesihatan sering melonjak antara "kejayaan" dan "kegagalan", ia akan menyebabkan lalu lintas Ia terus dipotong dan dipotong kembali, pengguna front-end dan mesin pencari yang merangkak labah-labah akan menghadapi banyak kesalahan yang tidak normal.
Hari ini, dari penyelidikan seni bina, penghantaran rangkaian, konfigurasi back-end hingga penyelenggaraan sumber awan, saya akan menganalisis secara mendalam penyebab umum kegagalan pemeriksaan kesihatan Alibaba Cloud SLB yang kerap, dan memberikan anda satu set penyelesaian yang berkesan.
1. Mengapa pemeriksaan kesihatan SLB penting untuk SEO dan perniagaan?
Sebelum penyelidikan teknikal mendalam, pertama-tama kami menjelaskan logik operasi pemeriksaan kesihatan SLB.
Alibaba Cloud SLB menilai status kesihatan bahagian belakang dengan menghantar permintaan pengesanan secara berkala (seperti HTTP GET, jabat tangan TCP, dll.) Ke contoh ECS belakang.
Keadaan normal: SLB menyebarkan permintaan front-end secara merata ke setiap pelayan back-end.
Status tidak normal (Status tidak normal):SLB menentukan pengecualian ECS tertentu, secara automatik mengasingkannya, dan permintaan tidak akan dihantar kepadanya.
Sekiranya pemeriksaan kesihatan tidak dikonfigurasi dengan betul, atau pelayan belakang mempunyai bahaya tersembunyi, ia akan muncul
Kegagalan pemeriksaan kesihatan yang kerap/lompatan bergantian
。 Ini bukan sahaja akan menyebabkan peningkatan mendadak dalam beban pelayan tunggal dan melambatkan tindak balas seluruh laman web (menurunkan penunjuk TTFB dalam Core Web Vitals), tetapi juga menyebabkan laman web tidak dapat diakses sebentar-sebentar.
Di samping itu, ketika melakukan peruntukan sumber awan berskala besar dan pengembangan perniagaan, pasukan operasi dan penyelenggaraan sering memfokuskan pada konfigurasi SLB itu sendiri, tetapi mengabaikan pengurusan infrastruktur akaun awan. Pada peringkat awal projek atau kitaran operasi dan penyelenggaraan, pastikan untuk melakukannya terlebih dahulu
Mengecas akaun Alibaba Cloud
Dan perancangan belanjawan untuk memastikan dana akaun mencukupi dan mengelakkan
Kerana tunggakan, peraturan pemantauan SLB gagal, lebar jalur rangkaian awam dibatasi, atau penggera pemantauan awan ditangguhkan, sehingga menutupi kegagalan pemeriksaan kesihatan yang sebenarnya.
2. 6 sebab dan penyelesaian umum untuk kegagalan pemeriksaan kesihatan SLB yang kerap
Berdasarkan pengalaman bertahun-tahun saya dalam penalaan laman web dan penyelesaian masalah, kegagalan pemeriksaan kesihatan SLB biasanya dapat dikaitkan dengan enam sebab utama berikut:
1. Kumpulan keselamatan/firewall memintas IP pengesanan SLB
Ini adalah lubang paling mudah untuk operasi dan penyelenggaraan pemula dan webmaster.
Prinsip dan gejala:
SLB secara dalaman melalui segmen IP rangkaian peribadi tertentu (seperti
100.64.0.0/10
Tunggu Alibaba Cloud mengekalkan segmen rangkaian) untuk memulakan permintaan pemeriksaan kesihatan untuk ECS belakang. Sekiranya contoh ECS anda dihidupkan secara dalaman
Iptables
,
Ufw
,
Firewald
, Atau dikonfigurasi pada konsol Alibaba Cloud
Peraturan kumpulan keselamatan
, Sekiranya IP rangkaian peribadi ini dibunuh dan dipintas, SLB tidak akan dapat menerima tindak balas normal dari bahagian belakang.
Penyelesaian:
Log masuk ke konsol Alibaba Cloud ECS dan periksa kumpulan keselamatan yang menjadi contoh.
Pastikan bahawa dalam peraturan arah masuk, segmen rangkaian IP pemeriksaan kesihatan SLB dibenarkan mengakses port belakang (seperti port khusus HTTP 80, 443 atau TCP).
Log masuk ke dalam sistem ECS, periksa tetapan firewall tempatan, dan tambahkan segmen rangkaian pengesanan SLB ke senarai putih: Bash # Ambil iptables sebagai contoh, membolehkan segmen rangkaian dalaman mengakses iptables -A INPUT -s 100.64.0.0/10 -p tcp-dport 80 -j ACCEPT
2. Konfigurasi Perkhidmatan Nginx/Web Belakang atau Laluan (Path) mengembalikan respons bukan 2xx/3xx
Prinsip dan gejala:
Untuk pemantauan HTTP/HTTPS, SLB akan menetapkan "jalur pemeriksaan kesihatan" ke hujung belakang (lalai biasanya
/
Atau
/Check.html
) Hantar permintaan. SLB secara lalai berpendapat bahawa hanya kembali
HTTP 2xx atau 3xx
Kod status dianggap berjaya.
Sekiranya bahagian belakang anda dilengkapi dengan pengalihan pseudo-statik paksa, pemintas akses yang tidak dibenarkan (401/403), atau halaman utama lalai melaporkan 404,SLB akan menentukan bahawa pemeriksaan kesihatan gagal.
Penyelesaian:
Siapkan halaman pemeriksaan kesihatan khas: Jangan gunakan laman utama laman web sebagai jalan pemeriksaan kesihatan. Adalah disyorkan untuk membuat fail statik ringan (contohnya/healthcheck.html) di direktori root perkhidmatan web, dan kandungan ditulis ok.
Kembali ke belakang ujian: Gunakan arahan curl secara tempatan di ECS untuk menguji jalan ini: curl -I ht tp:// 127.0.0.1:80/healthcheck.html
Pastikan kepala tindak balas HTTP yang dikembalikan adalah HTTP/1.1
200 OK.
Laraskan Tajuk: Sekiranya Nginx anda dilengkapi dengan Virtual Host (Virtual Host) dan terikat dengan server_name yang ditentukan, permintaan lalai yang dimulakan oleh SLB mungkin dipadankan dengan default_server oleh Nginx kerana tidak mempunyai tajuk Host yang betul dan kembali ke 403 atau 404. Pada masa ini, anda perlu mengisi nama domain pemeriksaan kesihatan secara eksplisit dalam konfigurasi lanjutan pemeriksaan kesihatan SLB.
3. Sistem ECS belakang kehabisan sumber (CPU/memori/IO melonjak)
Prinsip dan gejala:
Sekiranya laman web mengalami lalu lintas secara tiba-tiba, serangan CC, atau pertanyaan lambat, kebocoran memori, yang menyebabkan kadar penggunaan CPU ECS mencapai 100% atau kehabisan memori (OOM), pelayan web (Nginx/PHP-FPM/Java) tidak akan dapat bertindak balas tepat pada waktunya Permintaan pengesanan SLB menyebabkan pemeriksaan kesihatan tamat.
Penyelesaian:
Periksa CPU, memori, beban sistem dan keluk I/O cakera Alibaba Cloud Monitor.
Log masuk ke terminal ECS dan gunakan top atau htop untuk melihat proses yang menggunakan sumber tertinggi.
Sekiranya sumber daya tidak mencukupi disebabkan oleh pertumbuhan perniagaan yang normal, spesifikasi ECS harus ditingkatkan atau simpul belakang harus ditambahkan tepat pada waktunya; pada masa yang sama, pastikan rantaian modal akaun stabil, dan selesaikan pengisian semula akaun Cloud Alibaba tepat pada waktunya untuk mengelakkan kegagalan pemotongan contoh pembayaran sementara. Penutupan paksa.
4. Waktu tamat (Timeout) dan selang pemeriksaan kesihatan tidak ditetapkan dengan betul
Prinsip dan gejala:
SLB membolehkan penyesuaian "masa tamat tindak balas", "selang pemeriksaan kesihatan", "ambang kesihatan" dan "ambang tidak sihat".
Sekiranya masa tindak balas di bahagian belakang kadang-kadang memerlukan 2 saat kerana logik perniagaan yang lebih berat, dan anda menetapkan "masa tamat tindak balas" SLB ke 1 saat, dan "ambang tidak sihat" ditetapkan ke 2 kali, maka selagi dua pengesanan berturut-turut sedikit tersekat, SLB akan segera menentukan kegagalan nod, menyebabkan kegagalan pemeriksaan kesihatan yang kerap.
Penyelesaian:
Optimumkan parameter pemeriksaan kesihatan SLB dengan munasabah, dan disyorkan untuk menggunakan kombinasi parameter yang agak lancar:
Masa tamat tindak balas: Disarankan untuk menetapkan pada 3 ~ 5 saat (tinggalkan masa penyangga tertentu untuk hujung belakang).
Selang pemeriksaan kesihatan: disyorkan untuk ditetapkan ke 2 ~ 5 saat.
Ambang yang tidak sihat: Tetapkan ke 3 kali (iaitu, pengasingan lengkap setelah 3 kegagalan berturut-turut untuk mengelakkan salah penilaian jitter rangkaian yang tidak disengajakan).
Ambang kesihatan: ditetapkan ke 2 ~ 3 kali.
5. Bilangan sambungan serentak di hujung belakang mencapai had atas atau masalah Keep-Alive
Prinsip dan gejala:
Pemeriksaan kesihatan protokol HTTP sering membuat dan memutuskan sambungan TCP. Sekiranya pelayan web belakang (seperti Nginx atau Apache) ditetapkan
Max_clients
Atau jumlah maksimum sambungan serentak terlalu kecil, atau terlalu banyak soket dalam keadaan TIME_WAIT akan menyebabkan barisan TCP belakang meluap dan menolak permintaan sambungan baru SLB.
Penyelesaian:
Optimumkan parameter rangkaian kernel Linux (/etc/sysctl.conf):Ini, TOMLnet.ipv4.tcp _ tw_reuse = 1 net.ipv4.tcp _ fin_timeout = 30 net.core.somaxconn = 1024
Laraskan parameter serentak tinggi Nginx: kembangkan worker_connections dan keepalive_timeout di nginx.conf untuk memastikan bahawa masih ada proses Worker yang mencukupi untuk memproses permintaan probe SLB di bawah konsisten tinggi.
6. Kesalahan pemeriksaan kesihatan TCP dalam senario sambungan/Websocket yang panjang
Prinsip dan gejala:
Untuk pemantauan TCP, SLB secara lalai membuat sambungan melalui jabat tangan tiga arah (SYN -> SYN-ACK -> ACK), dan kemudian segera mengirim RST untuk memutuskan sambungan untuk menentukan kesihatan. Beberapa aplikasi back-end atau firewall akan menilai tingkah laku "hanya berjabat tangan tanpa menghantar data, dan sering mengeluarkan RST" sebagai imbasan haram, dan kemudian secara aktif melarang IP pengesanan SLB, menyebabkan kegagalan pemeriksaan kesihatan.
Penyelesaian:
Hapuskan pengesanan jabat tangan yang tidak normal pada segmen rangkaian peribadi SLB dalam aplikasi belakang atau firewall.
Sekiranya ia adalah aplikasi HTTP, cuba ubah mod pemantauan SLB ke pemantauan HTTP/HTTPS untuk pengesanan kod status HTTP yang lebih tepat.
3. Aliran kerja "empat langkah" untuk menyiasat masalah pemeriksaan kesihatan SLB
Apabila anda melihat amaran "Health Check Failed" merah di konsol, jangan panik, disyorkan untuk membuat diagnosis cepat dalam urutan berikut:
[Langkah pertama: ECS tempatan ujian]
Gunakan curl untuk menguji port perkhidmatan tempatan dan URL pemeriksaan kesihatan untuk mengesahkan bahawa perkhidmatan back-end itu sendiri adalah normal.
↓
[Langkah 2: Penyiasatan Kumpulan Rangkaian dan Keselamatan]
Periksa sama ada kumpulan keselamatan dan firewall tempatan (iptables) melepaskan segmen rangkaian 100.64.0.0/10.
↓
[Langkah 3: Tangkap beg dan analisis log]
Jalankan tangkapan tcpdump pada ECS untuk menganalisis sama ada anda telah menerima permintaan probe SLB dan kod pengembalian HTTP tertentu.
↓
[Langkah 4: Pemantauan Awan dan Penyiasatan Sumber]
Periksa kadar penggunaan CPU/memori/cakera/lebar jalur sistem, dan sahkan sama ada status akaun Alibaba Cloud dan pemotongan sumber adalah normal.
Antaranya,
Perintah menangkap beg
Sangat berguna. Anda boleh menjalankan secara langsung di dalam ECS:
Bash
# Merangkak dari SLB
80 trafik port di segmen rangkaian peribadi
Tcpump-i any src net 100.64.0.0/10 dan dst port 80 -nn
Dengan memerhatikan sama ada ada
SYN
Kemasukan dan tindak balas pakej
Status HTTP
, Dapat menentukan apakah masalah itu terjadi dalam "tahap sambungan rangkaian" atau "tahap tindak balas aplikasi web" dalam beberapa saat.
Keempat, ringkasan perspektif SEO: kestabilan adalah pengoptimuman SEO terbaik
Sebagai pengoptimum laman web SEO, saya berpendapat bahawa logik pengoptimuman laman web yang mendasari tidak pernah hanya menulis artikel dan melakukan pautan luaran.
Kestabilan infrastruktur adalah tonggak SEO
。
Elakkan penurunan kuasa mesin pencari: Kegagalan pemeriksaan kesihatan SLB yang kerap akan menyebabkan kesalahan 502/504 di bahagian depan. Setelah labah-labah mesin pencari menghadapi kesalahan seperti itu berkali-kali, mereka akan dengan cepat menentukan bahawa pelayan laman web tidak stabil, yang mengakibatkan stagnasi penyertaan dan penurunan peringkat.
Menjamin pengalaman pengguna dan kadar penukaran: Laman web dengan ketersediaan tinggi dan latensi rendah dapat mengurangkan Bounce Rate dengan ketara dan meningkatkan masa tinggal halaman. Data tingkah laku pengguna ini juga merupakan petunjuk penting bagi mesin pencari untuk menilai kualiti halaman.
Perhatikan perincian operasi dan penyelenggaraan dan pengurusan sumber: memastikan ketersediaan infrastruktur yang tinggi tidak hanya tercermin dalam kod dan seni bina, tetapi juga dalam pengurusan sumber awan perusahaan harian. Mengekalkan pengurusan dana yang mencukupi dan pengisian semula akaun Alibaba Cloud yang tepat pada masanya dapat memastikan operasi komponen SLB, CDN, perlindungan keselamatan awan (WAF) dan pemantauan awan yang berterusan dan cekap untuk mengelakkan masalah sebelum ia berlaku.
Melalui pemahaman mendalam mengenai mekanisme pemeriksaan kesihatan SLB, konfigurasikan peraturan pengesanan yang wajar, kumpulan keselamatan pelepasan, dan selalu memantau prestasi pelayan belakang, anda dapat menyelesaikan sepenuhnya masalah kegagalan pemeriksaan kesihatan yang kerap dan membuat ketersediaan tinggi yang kukuh untuk laman web anda seni bina!

