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

    • Cosmic Desktop 1.0.6 Released: What’s New for Linux Users?
    • MOS: A New Open-Source OS for Home Labs and Self-Hosting
    • Windows 11 Dock Test: Linux/MacOS Style via PowerToys
    • Microsoft Ends 3D Viewer in Windows 11, Creators Update Era Over
    • Why Linux Outperforms Windows: 4 Key Reasons Explained
    • Windows 11 26H1 Explained: Why This New Update is Only for the Latest ARM Devices
    • Go 1.26 Adds New Features for Developers
    • The Fake Zoom Meeting Scam: How UNC1069 Uses Deepfakes and AI to Steal Your Cryptocurrency Explained
    • Windows 11 OOBE Now Features Copilot Assistant
    • WhatsApp Web Adds Voice & Video Calls for Linux Users
    • ntfy 2.17 Released: Priority Templating Explained for Linux Users
    • Ubuntu 26.04 Will Removes Software & Updates GUI
    • MPV: The Ultimate Linux Video Player Explained
    • RedAmon Explained: An AI-powered agentic red team framework
    • How to Reset Game Bar Settings on Windows 11/10
    • TVScreener Library Review! Simple Python Library for TradingView Screener
    • Microsoft Edge Replaces Read Aloud with Copilot Vision: What You Need to Know?
    • Microsoft Officially Removes Optional .NET Framework 3.5 in Windows 11
    • Windows 11 Shared Audio Now Available on More Devices
    • How ML Could Improve Linux Kernel Performance
    • Why Do Linux Users Use Non-Free Software? Explained Simply
    • How to Recover Deleted Files from VMware Datastore
    • How to Fix Missing Audio Ports in Device Manager
    • Plex vs Jellyfin: Why Plex is Still the Best Self-Hosted Media Server for Most Users
    • KDE Plasma 6.7 Brings AI-Powered Multitasking to Linux with Smart Window List
    • Inilah Rekomendasi Tablet RAM 8 GB Paling Murah 2026 Buat Kerja dan Kuliah!
    • Ini Bocoran Honorable Mention TOTY FC Mobile OVR 117 dan 34 Kode Redeem Paling Baru!
    • Inilah Cara Memilih Smartband GPS Terbaik Biar Olahraga Kalian Makin Efektif!
    • Cara Cek Garansi iPhone dengan Benar, Penting Banget Buat yang Mau Beli HP Baru atau Bekas!
    • Inilah Infinix Note 60 Pro, HP Midrange yang Punya Desain Mirip iPhone dan Fitur Unik ala Nothing Phone!
    • Prompt AI Merubah Postingan LinkedIn Jadi Ladang Diskusi dengan ChatGPT
    • Prompt AI: Paksa Algoritma LinkedIn Promosikan Konten Kalian
    • Inilah Cara Bikin Postingan Viral Menggunakan AI
    • Inilah Cara Buat Conversation Starter di Claude Project Agar Workflow Kalian Lebih Sat-Set
    • Cara Membuat Knowledge Base Audit untuk Claude Project Agar Dokumen Kalian Nggak Berantakan
    • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
    • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
    • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
    • Siapa itu Kelompok Hacker Silver Fox?
    • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
    ©2026 Tutorial emka | Design: Newspaperly WordPress Theme