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

    • What is LibreOffice Online? A Guide to the Community-Driven Cloud Office Suite
    • Lutris 0.5.21 Adds Steam Sniper Runtime & New Emulators: What’s New?
    • Wine 11.3 Released: New Features and Improvements Explained
    • How to Discover Hidden Risks in Arch AUR Packages with Taur, the New Rust Tool
    • Cosmic Desktop 1.0.8 Released: New Features and Improvements Explained
    • What is Mozilla Thunderbird 148 and its EWS Enhancements?
    • Why Ladybird Switches to Rust? Is it for Faster Browser Engine
    • What is OAC? An Introduction to the Next Generation Open Audio Codec
    • 0 A.D. Game Ends its 16-Year Alpha Phase
    • Mabox Linux 26.02 Released with New Audio Menu Features
    • WhatsApp to Add Scheduled Message Feature Soon
    • Ardour 9.1 DAW Released with Editor Fixes and MIDI Improvements Explained
    • Microsoft Removes Security Feature in Edge, Password Managers Must Know
    • MinIO Fork Launched: Open Source Community Enhances Object Storage
    • Why Ubuntu 26.04’s use OpenJDK 25 Default?
    • What New in DietPi 10.1? the Latest Lightweight SBC OS Update
    • Is It True: Microsoft Notepad Will Have Image Support?
    • KDE Plasma 6.7 Adds Desktop Switching in Overview Explained
    • What’s New in Clonezilla Live 3.3.1? Exploring the New Features and Linux Kernel 6.18 Integration
    • How to Automate Your Home Lab Using Raspberry Pi and Cron Jobs
    • KDE Plasma 6.6.1 Released with Major Stability Improvements
    • What new in Apache NetBeans 29? A Look at the Latest Major IDE Update
    • Why is KaOS Moving Away from KDE Plasma? Here is the Explanation
    • Firefox 148 Now Available: New Features & Improvements Explained
    • What is Freeform Rotate in Paint? Here is the Definition and How to Use it
    • Inilah Alasan Ilmiah Kenapa Lampu Lalu Lintas Pakai Warna Merah, Kuning, dan Hijau!
    • Nonton Drama Dapat Duit? Ini Kebenaran Soal FunFlick yang Wajib Kalian Tahu!
    • Ini Cara Isi NPWP dan Rekening di EMIS GTK IMP 2026 Biar Tunjangan Lancar
    • Inilah Trik Farming AFK Roblox Fish It 24 Jam Tanpa Bikin HP Panas!
    • Hobi Nonton Drama Jadi Cuan? Ini Cara Ngebanyakin Diamond FreeReels Tanpa Ribet!
    • Prompt AI Menyusun Script Pola Suara Karakter agar Brand Jadi Ikonik
    • Prompt AI untuk Merancang Karakter Brand yang Ikonik
    • Prompt AI Audit Konten Sesuai Karakter Brand
    • Prompt AI Merubah Postingan LinkedIn Jadi Ladang Diskusi dengan ChatGPT
    • Prompt AI: Paksa Algoritma LinkedIn Promosikan Konten Kalian
    • 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