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

    • How to Recover Lost Windows Passwords with a Decryptor Tool
    • How to Fix Python Not Working in VS Code Terminal: A Troubleshooting Guide
    • Game File Verification Stuck at 0% or 99%: What is it and How to Fix the Progress Bar?
    • Why Does PowerPoint Underline Hyperlinks? Here is How to Remove Them
    • AI Bug Hunting with Semgrep
    • What is the Excel Power Query 0xc000026f Error?
    • How to Build Your Own Homelab AI Supercomputer 2026
    • How to Enable SSH in Oracle VirtualBox for Beginners
    • How to Intercept Secret IoT Camera Traffic
    • Build Ultra-Fast and Tiny Desktop Apps with Electrobun: A Beginner’s Guide
    • The Ultimate 2026 Coding Roadmap: How to Master Software Engineering with AI Agents
    • How to Master Cloud Infrastructure with Ansible and Terraform
    • How to Fix VirtualBox Stuck on Saving State: A Complete Guide
    • How to Run Windows Apps on Linux: A Complete Guide to WinBoat, WINE, and Beyond
    • Build Your Own AI Development Team: Deploying OpenClaw and Claude Code on a VPS!
    • How to Measure Real Success in the Age of AI: A Guide to Software Metrics That Actually Matter
    • Kubernetes Traffic Tutorial: How to Create Pod-Level Firewalls (Network Policies)
    • This Is Discord Malware: Soylamos; How to Detect & Prevent it
    • How Stripe Ships 1,300 AI-Written Pull Requests Every Week with ‘Minions’
    • How to Disable Drag Tray in Windows 11: Simple Steps for Beginners
    • About Critical Microsoft 365 Copilot Security Bug: Risks and Data Protection Steps
    • Is the $600 MacBook Neo Actually Any Good? A Detailed Deep-Dive for Student!
    • Build Your Own Mini Data Center: A Guide to Creating a Kubernetes Homelab
    • How Enterprise Stop Breaches with Automated Attack Surface Management
    • The Roadmap to Becoming a Professional Python Developer in the AI Era
    • Cara Kelola Auto-Posting Semua Media Sosial Kalian Pakai Metricool
    • Studi Kasus Sukses Instagram Maria Wendt Dapat 12 Juta View Instagram Per Bulan
    • ZenBook S16, Vivobook Pro 15 OLED, ProArt PX13, dan ROG Zephyrus G14, Laptop Bagus dengan Layar OLED!
    • Caranya Ngebangun Website Directory dengan Traffic Tinggi dalam Seminggu!
    • Cara Mengembangkan Channel YouTube Shorts Tanpa Wajah
    • Create Your Own Netflix-Style Documentaries Using AIQORA in Minutes!
    • How to Build a Super Chatbot with RAG Gemini Embbeding & Claude Code
    • How to Do Professional AI Prompting in Nano Banana 2
    • How to Create Agent & Automation in Minutes with Sim AI
    • Claude Code Tips: Don’t Overuse SKILL.md!
    • 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