Bagaimana untuk mengkonfigurasi HAProxy untuk sambungan WebSocket

王林
Lepaskan: 2024-03-20 15:51:22
ke hadapan
523 orang telah melayarinya

Aplikasi WebSocket membolehkan komunikasi dua hala masa nyata antara pelanggan dan pelayan. Walaupun sambungan WebSocket digunakan, mekanisme pengurusan trafik yang berkesan masih diperlukan untuk mengelak daripada membebankan pelayan, mengakibatkan gangguan perkhidmatan dan tidak tersedia.

HAProxy ialah pengimbang beban percuma dan boleh dipercayai yang juga berfungsi sebagai proksi terbalik. Dengan mengkonfigurasi HAProxy untuk menyokong sambungan WebSocket, anda boleh menggunakan lebih baik ciri penghantaran data masa nyata WebSockets dan mengurangkan beban pelayan. Artikel ini akan menerangkan langkah terperinci untuk mengkonfigurasi HAProxy untuk menyokong sambungan WebSocket.

Panduan langkah demi langkah tentang cara mengkonfigurasi HAProxy untuk sambungan WebSocket

Melalui sambungan WebSocket, komunikasi antara pelayan dan pelanggan berterusan sehingga salah satu pihak menutup sambungan secara aktif. Untuk memastikan trafik boleh diagihkan sama rata ke pelayan lain apabila beban pelayan terlalu tinggi, pengimbang beban boleh digunakan. Dengan cara ini, pelanggan dan pelayan boleh mengekalkan sambungan berterusan dan menikmati persekitaran komunikasi kependaman rendah.

1. Pasang HAProxy

Langkah pertama dalam mengkonfigurasi HAProxy untuk sambungan WebSocket ialah mengesahkan bahawa HAProxy dipasang. Jika anda belum memasangnya lagi, ikut langkah ini untuk memasangnya:

$sudo apt—dapatkan pasang haproxy

Bagaimana untuk mengkonfigurasi HAProxy untuk sambungan WebSocket

2. Edit konfigurasi HAProxy

Untuk membolehkan sambungan WebSocket melalui HAProxy, konfigurasi HAProxy perlu dilaraskan untuk menyokong sambungan WebSocket. Ini termasuk membuat perubahan pada bahagian "server" dan menyediakan bahagian "frontend" dan "backend".

Buka konfigurasi HAProxy menggunakan editor teks seperti yang ditunjukkan di bawah:

$sudo nano/etc/haproxy/haproxy.cfg

Dalam bahagian "Padam", ubah suainya seperti yang ditunjukkan dalam imej di bawah. Pertama, kami menyatakan bahawa kami menggunakan sambungan HTTP dan menentukan tempat untuk menghantar fail log. Seterusnya, kami menetapkan tamat masa untuk aktiviti yang berbeza. Sebagai contoh, tamat masa sambungan ialah jumlah maksimum masa yang diperlukan untuk menyambung ke pelayan. Jika masa maksimum dicapai, sambungan dianggap gagal dan boleh dicuba semula.

Untuk kes ini, kami menetapkan tamat masa sambungan kepada 5000 milisaat. Anda boleh melaraskan tamat masa berdasarkan situasi anda. Sesuaikan mereka dengan aplikasi anda, dengan mengingati tempoh sesi WebSocket dan berapa lama anda menjangkakan sesi itu akan hidup.

Bagaimana untuk mengkonfigurasi HAProxy untuk sambungan WebSocket

Seterusnya, kita perlu mencipta bahagian "frontend", di mana kita mengikat port yang digunakan untuk sambungan WebSocket dan pelayan backend yang dirujuk. Dalam kes ini, kami menentukan port 80 dan memberikan URL untuk mengakses halaman "Statistik" untuk memantau HAProxy kami. Akhir sekali, kami mentakrifkan bahagian belakang yang dirujuk dalam pengimbangan beban.

Bagaimana untuk mengkonfigurasi HAProxy untuk sambungan WebSocket

Di bahagian "Backend", kami menggunakan penjadualan round-robin untuk mengagihkan beban. "pilihan ke hadapan untuk" menentukan bahawa HAProxy menyertakan pengepala "X-Forward-For" apabila menghantar permintaan sambungan, yang mengandungi alamat IP klien. Dengan cara ini pelayan bahagian belakang akan mendapat IP klien yang betul.

"Pilihan http_server_close" mengehadkan sumber dengan menghapuskan sebarang sambungan terbiar yang menggunakan sumber pelayan. Walaupun sambungan WebSocket tahan lama, kita mesti menyemak sama ada terdapat sambungan terbiar tahan lama dan menutupnya untuk mengelakkan pembaziran sumber yang tidak perlu.

Akhir sekali, tambahkan pelayan bahagian belakang yang akan digunakan untuk mengagihkan trafik. Pastikan anda memberikan pelayan anda alamat IP yang betul dan gantikan alamat IP dalam imej di bawah:

Bagaimana untuk mengkonfigurasi HAProxy untuk sambungan WebSocket

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

3. Ujian kesahan

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

$sudo haproxy-c-f/etc/haproxy/haproxy.cfg

Bagaimana untuk mengkonfigurasi HAProxy untuk sambungan WebSocket

4. Mulakan semula dan uji sambungan WebSocket

Selepas fail sah, mulakan semula perkhidmatan HAProxy.

Bagaimana untuk mengkonfigurasi HAProxy untuk sambungan WebSocket

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

Kesimpulan

Mengkonfigurasi sambungan HAProxy untuk WebSocket ialah penyelesaian yang popular, terutamanya dalam kalangan pentadbir web. Artikel ini menghuraikan proses secara terperinci, memberikan langkah dan contoh untuk memastikan anda selesa mengikuti dan menguruskan untuk melaksanakan proses yang sama dalam kes anda. Lakukan setiap langkah untuk memastikan anda memahami konsep dan proses melaksanakannya.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi HAProxy untuk sambungan WebSocket. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:mryunwei.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!