Cara Mengkonfigurasi HAProxy untuk Sambungan WebSocket

Cara Mengkonfigurasi Haproxy Untuk Sambungan Websocket



Aplikasi WebSocket mempunyai komunikasi masa nyata dan dua arah antara pelanggan dan pelayan. Walaupun dengan sambungan WebSocket, anda masih memerlukan cara untuk mengagihkan trafik untuk mengelakkan lebihan beban pelayan yang akan membawa kepada masa henti dan tidak tersedia.

HAProxy ialah contoh pengimbang beban percuma dan boleh dipercayai yang juga berfungsi sebagai proksi terbalik. Anda boleh mengkonfigurasi sambungan HAProxy untuk WebSocket untuk menggunakan ciri WebSockets dengan lebih baik, terutamanya pada pemindahan data masa nyata, sambil meminimumkan beban pelayan menggunakan HAProxy. Siaran ini membentangkan semua langkah yang diperlukan untuk mengkonfigurasi HAProxy untuk sambungan WebSocket.

Panduan Langkah demi Langkah tentang Cara Mengkonfigurasi HAProxy untuk Sambungan WebSocket

Dengan sambungan WebSocket, komunikasi pelayan dan pelanggan kekal lama. Ia berterusan sehingga pelayan atau pelanggan memutuskan untuk menutupnya. Oleh itu, mempunyai cara untuk bekerja dengan pengimbang beban memastikan bahawa trafik boleh diedarkan ke pelayan lain jika pelayan terlebih muatan. Dengan cara itu, pelanggan dan pelayan boleh menikmati sambungan tanpa gangguan dan tahan lama pada kependaman rendah.







1. Pasang HAProxy

Langkah pertama untuk mengkonfigurasi HAProxy untuk sambungan WebSocket adalah untuk memastikan bahawa anda telah memasang HAProxy. Jika anda sudah memasangnya, langkau langkah ini. Jika tidak, jalankan arahan berikut untuk memasangnya:



$ sudo apt-get install haproxy



2. Edit Konfigurasi HAProxy

Untuk mengkonfigurasi HAProxy untuk sambungan WebSocket, kita mesti mengedit konfigurasi HAProxy untuk menyokong sambungan WebSocket. Kita mesti mengubah suai bahagian 'Lalai' dan mencipta bahagian 'Frontend' dan 'Backend'.





Buka konfigurasi HAProxy menggunakan editor teks seperti berikut:

$ sudo nano / dan lain-lain / haproxy / haproxy.cfg

Dalam bahagian 'Lalai', ubah suainya seperti yang ditunjukkan dalam imej berikut. Pertama, kami menyatakan bahawa kami sedang bekerja dengan sambungan HTTP dan menentukan tempat untuk menghantar fail log. Seterusnya, kami menetapkan tamat masa untuk aktiviti yang berbeza. Sebagai contoh, sambungan tamat masa ialah masa maksimum yang perlu diambil oleh percubaan sambungan ke pelayan. Jika masa maksimum dicapai, sambungan disimpulkan gagal dan boleh dicuba semula.



Untuk kes ini, kami menetapkan sambungan tamat masa kepada 5000 milisaat. Anda boleh melaraskan tamat masa tentang cara anda melihatnya dengan terbaik untuk kes anda. Laraskannya berdasarkan aplikasi anda, dan ingat tempoh sesi WebSocket dan jangka hayat yang anda jangkakan.

Seterusnya, kita mesti mencipta bahagian 'Frontend' di mana kita mengikat port yang hendak digunakan untuk sambungan WebSocket dan pelayan bahagian belakang yang hendak dirujuk. Untuk kes ini, kami menentukan port 80 dan memberikan URL untuk mengakses halaman 'Statistik' untuk memantau HAProxy kami. Akhir sekali, kami menentukan bahagian belakang yang hendak dirujuk dalam pengimbangan beban.

Dalam bahagian 'Backend', kami mengagihkan beban menggunakan round robin. 'Pilihan ke hadapan untuk' menentukan kepada HAProxy untuk memasukkan pengepala 'X-Forward-For' yang mengandungi alamat IP klien semasa menghantar permintaan sambungan. Dengan cara itu, pelayan bahagian belakang akan mendapat IP klien yang betul.

“Pilihan http-server-close” mengehadkan sumber dengan menghapuskan sebarang sambungan terbiar daripada menggunakan sumber pelayan. Walaupun sambungan WebSocket tahan lama, kita mesti menyemak sambungan terbiar tahan lama dan menutupnya untuk mengelakkan pembaziran sumber yang tidak perlu.

Akhir sekali, tambahkan pelayan bahagian belakang yang akan anda gunakan untuk mengedarkan trafik. Pastikan anda memberikan alamat IP yang betul untuk pelayan dan gantikan yang dalam imej berikut:

HAProxy anda kini dikonfigurasikan untuk sambungan WebSocket. Simpan perubahan dan tutup fail.

3. Ujian untuk Kesahan

Sebelum kita memulakan semula HAProxy, kita boleh menjalankan arahan pantas untuk menyemak sama ada fail itu sah dan tiada ralat. Untuk itu, jalankan arahan berikut:

$ sudo haproxy -c -f / dan lain-lain / haproxy / haproxy.cfg

4. Mulakan semula dan Uji Sambungan WebSocket

Setelah fail itu sah, mulakan semula perkhidmatan HAProxy.

itu sahaja. Anda mengkonfigurasi HAProxy untuk sambungan WebSocket. Anda boleh menguji sambungan untuk memastikan bahawa semua trafik WebSocket dimajukan dengan betul.

Kesimpulan

Mengkonfigurasi sambungan HAProxy untuk WebSocket ialah penyelesaian yang dicari, terutamanya oleh pentadbir web. Catatan ini menghuraikan proses secara terperinci, memberikan langkah-langkah dan contoh untuk memastikan anda mengikuti dengan selesa dan berjaya melaksanakan perkara yang sama dalam kes anda. Lakukan setiap langkah dan pastikan anda memahami konsep dan proses untuk melaksanakannya.