Skip to content
Tutorial emka
Menu
  • Home
  • Debian Linux
  • Ubuntu Linux
  • Red Hat Linux
Menu

Tutorial Cara Menjalankan Aplikasi Real-Time dengan Apache dan WebSocket

Posted on October 28, 2024

Aplikasi modern seringkali memanfaatkan WebSocket untuk menghadirkan pengalaman real-time, seperti pembaruan langsung atau fitur chat. Jika aplikasi Anda dijalankan di server Apache, konfigurasi yang tepat diperlukan untuk menangani permintaan WebSocket (wss://). Panduan sederhana ini akan menunjukkan cara mengkonfigurasi Apache untuk menangani permintaan ini, mulai dari mengaktifkan modul yang tepat hingga menyesuaikan pengaturan VirtualHost.

  • WebSocket memungkinkan pesan dikirim dan diterima secara instan dalam aplikasi chat.

    Pembaruan data langsung:

  • WebSocket memungkinkan sinkronisasi permainan, seperti gerakan pemain dan pembaruan status.

    Konfigurasi Apache untuk WebSocket

    Misalnya, Anda memiliki aplikasi Next.JS yang berjalan di URL


    Langkah Konfigurasi:

      Aktifkan Modul yang Dibutuhkan:

      sudo a2enmod proxy
      sudo a2enmod proxy_http
      sudo a2enmod proxy_wstunnel
      sudo a2enmod rewrite
         

    1. Tambahkan konfigurasi berikut ke file VirtualHost Apache Anda (biasanya ditemukan di /etc/apache2/sites-available/):

      <VirtualHost *:80>
          ServerName example.com
      
          # Konfigurasi lainnya (seperti DocumentRoot, dll.)
      
          # Proxy koneksi WebSocket
          RewriteEngine On
          RewriteCond %{HTTP:Upgrade} =websocket [NC]
          RewriteRule /(.*) wss://localhost:3000/$1 [P,L]
      
          # Proxy permintaan HTTP lainnya
          ProxyPass / http://localhost:3000/
          ProxyPassReverse / http://localhost:3000/
      </VirtualHost>
          

      Dalam konfigurasi ini:

        RewriteRule:

      • Menangani lalu lintas HTTP biasa.
      • Setelah melakukan perubahan, restart Apache untuk menerapkan konfigurasi:

              sudo systemctl restart apache2
            

    Penjelasan Konfigurasi:

    Kode konfigurasi di atas mengatur bagaimana Apache menangani permintaan yang datang ke domain .

      mengaktifkan modul rewrite Apache, memungkinkan aturan untuk memanipulasi URL yang masuk.

      memeriksa apakah permintaan yang masuk memiliki header yang nilainya sama dengan . Ini berarti bahwa permintaan tersebut adalah permintaan WebSocket.

      mendefinisikan aturan untuk menangani permintaan WebSocket. Aturan ini mengambil semua permintaan yang sesuai dengan kondisi sebelumnya dan meneruskannya ke server yang menjalankan aplikasi WebSocket di .

      dan menangani permintaan HTTP biasa dengan meneruskan mereka ke server backend di .

      Kesimpulan:

      Dengan mengikuti langkah-langkah yang diuraikan dalam artikel ini, Anda dapat berhasil mengkonfigurasi Apache untuk menangani permintaan WebSocket (wss://), memastikan komunikasi yang lancar antara klien dan server backend. Dengan mengaktifkan modul yang diperlukan dan mengatur konfigurasi ProxyPass dan RewriteRule yang benar, Apache dapat secara efisien memproksi koneksi WebSocket serta mengelola lalu lintas HTTP biasa.

  • Recent Posts

    • Sudah Siap Pindah? Pop!_OS 24.04 LTS Hadir dengan Performa Plasma yang Lebih Baik
    • Masih Andalkan Teori? Ini Alasan Kenapa Perusahaan Besar Banting Setir ke Training Hands-On DevOps!
    • Wi-Fi 6 Dual-Band di Chip Kecil? Kenalan Sama MCU RA Family dari Renesas Ini!
    • Ribet Rakit Node? Muzi Baseboard Bikin Proyek Meshtastic Kalian Jadi Nggak Pusing Lagi!
    • Hati-Hati! Ekstensi VS Code Favorit Kalian Bisa Jadi Celah Pencurian Data Sensitif
    • Raspberry Pi Imager 2.0.2 Dirilis Bawa Fitur SSH Multi-Key dan Direct I/O!
    • Ubuntu 26.04 LTS Masih Ada Flavor Unity & MATE Desktop
    • Cinnamon 6.6 Rilis dengan Menu Aplikasi yang Dirancang Ulang
    • Aerynos 2025-12 Rilis dengan GNOME 49.2, Mesa 25.3, dan KDE Plasma 6.5.4
    • Cara Mempertahankan Sesi SSH Remote Tanpa Takut Putus Koneksi
    • Ini 2 Wallpapers Gnome Extension Percantik Desktop
    • Mozilla Rilis Firefox 146
    • Peazip 10.8 Dirilis, UI Baru dan Ada Fitur Previewing Dalam Arsip
    • Youyeetoo Mini PC: Sebuah NAS Ukuran Kecil Dengan 4 Slot M.2 dan 2 Port 2.5Gbe
    • Jolla Phone Kini Bisa di Pre-oder Jadi Ponsel Secure dengan Linux Independen
    • Inilah Proton Sheets: Spreadsheet Terenkripsi Online yang Aman dan Mudah Digunakan
    • Calibre 8.16 Dirilis dengan Fitur AI dan Perbaikan Bug
    • Radxa C200 Orin Developer Kit: Pakai Jetson Orin NX dan Ekspansi PCIe 4.0
    • Pimoroni Luncurkan Seri Badgeware Baru dengan E-Paper IPS dan LED Wearable
    • Metacomputing Rilis PC ARM 45 Tops Berdaya CIX CP8180 yang Siap Pakai
    • Ubuntu Pro Kini Gratis untuk Pengguna WSL
    • Alpine Linux 3.23 Dirilis dengan Linux Kernel 6.18 LTS, GNOME 49, dan KDE Plasma 6.5
    • Kernel Linux 6.18 Akan Didukung LTS Hingga Desember 2027
    • Kenapa Linux Jadi Backbone Infrastruktur Digital Dunia?
    • VLC 3.0.22 Dirilis dengan Peningkatan Frame Rate untuk GPU AMD, Dukungan Dav1d, dan Opsi Semua Lapisan

    Archives

    • December 2025
    • November 2025
    • October 2025
    • August 2025
    • April 2025
    • February 2025
    • November 2024
    • October 2024
    • September 2024
    • May 2024
    • March 2024
    • February 2024
    • January 2024
    • December 2023
    ©2025 Tutorial emka | Design: Newspaperly WordPress Theme