Listen Port Websocket melalui Reverse Proxy Nginx

Case berikut ketika memiliki backend web server yang memiliki websocket kemudian memiliki port custom agar dilewatkan atau di listen melalui reverse proxy nginx

Baca juga tentang : Konfigurasi Apache Virtual Host dan Reverse Proxy Nginx

File.conf di sisi reverse proxy nginx

Upstream dibuat beda untuk menginisialisasi ip dan custom port 8083

Dilanjutkan dengan baris berikut, perlu diperhatikan dalam tag tersebut listen port terdiri dari 2 yaitu port 443 untuk SSL dan port 8083 adalah port dari websocket.

Disisi coding web yang perlu diperhatikan untuk membuka koneksi websocket maka disesuaikan seperti ini, yaitu menambahkan diakhir url /wss

Yang perlu diperhatikan adalah sebagai berikut :

  • location /wss untuk listen port 8083 tersebut
  • proxy_read_timeout 86400s; settingan batas waktu timeout socket yaitu 24 jam yang disesuaikan dengan kebutuhan
  • selinux berpengaruh, jika aktif pastikan untuk allow port untuk 8083

Sumber masalah

  • https://github.com/ratchetphp/Ratchet/issues/100
  • https://stackoverflow.com/questions/16979793/php-ratchet-websocket-ssl-connect
  • https://stackoverflow.com/questions/51971774/ssl-websockets-with-nginx-cannot-connect
  • https://serverfault.com/questions/693000/connect-to-websocket-server-without-specifying-port
  • https://github.com/nicokaiser/nginx-websocket-proxy/blob/df67cd92f71bfcb513b343beaa89cb33ab09fb05/simple-wss.conf#L17
  • https://www.nginx.com/blog/websocket-nginx/
  • https://www.serverlab.ca/tutorials/linux/web-servers-linux/how-to-configure-nginx-for-websockets/

Was this helpful?

0 / 0