Pemeriksaan kesehatan HAProxy untuk proksi penerus Squid
Bangun pemeriksaan kesehatan HAProxy yang berbicara kepada proksi penerus dan bedakan keterjangkauan listener, penerimaan CONNECT, dan pengambilan dari origin.
Berkas bernama /check.txt pada host proksi terdengar seperti target kesehatan yang jelas. Jebakannya adalah listener penerus eksplisit Squid bukan situs web biasa yang menyajikan akar dokumen host tersebut.
Permintaan bergaya origin seperti HEAD /check.txt HTTP/1.1 meninggalkan target absolut yang diharapkan untuk permintaan HTTP biasa melalui proksi penerus. Bergantung pada konfigurasi, permintaan itu bisa ditolak atau ditangani layanan lokal lain. Kedua hasil bisa memberi tahu Anda lebih sedikit daripada yang disiratkan dasbor.
Pilih layanan yang perlu Anda jaga tetap tersedia
| Pemeriksaan | Bukti yang berguna |
|---|---|
| Koneksi TCP ke listener proksi | Proses yang terjangkau menerima koneksi itu. |
| CONNECT ke target yang dikendalikan | Proksi menerima permintaan terowongan itu. |
| Pengambilan HTTP melalui proksi | Jalur permintaan yang dipilih dapat mengembalikan respons yang diharapkan. |
Untuk kasus ketiga, permintaan membutuhkan target, misalnya:
HEAD http://probe.example.internal/proxy-ready HTTP/1.1
Host: probe.example.internal
Nama host hanya ilustrasi. Gunakan endpoint terkendali yang dapat diresolusi proksi dan sengaja diizinkan untuk dijangkau. http-check send HAProxy mendukung pemilihan metode, URI, versi, dan header; konfigurasikan permintaan itu secara eksplisit alih-alih mewarisi contoh server origin tanpa perubahan.
HEAD dapat memeriksa status dan header respons. Ia tidak dapat memvalidasi badan respons yang tidak pernah ditransfer. Jika kontrak kesehatan membutuhkan penanda di badan, pilih pemeriksaan GET yang sesuai dan validasi penanda itu.
Jaga akun pemeriksaan dan pembatasan sumber tetap sempit saat autentikasi proksi terlibat. Membebaskan seluruh listener dari autentikasi demi centang hijau mengubah layanan yang dilindungi.
Terakhir, putuskan apa yang harus dihapus oleh pemeriksaan yang gagal. Gangguan origin yang terkendali dapat membuat pemeriksaan penerusan setiap proksi gagal bersamaan. Itu mungkin persis ketergantungan yang ingin Anda ukur, atau alasan untuk menjaga kesehatan listener dan ketersediaan ujung ke ujung sebagai sinyal terpisah.