[aaPanel] Setting Proxy Reserver Nginx untuk Project Node JS menggunakan komunikasi Socket.io melalui Websocket

Ahmad Rifa'i
2 min readApr 26, 2022

Assalamu’alaikum warahmatullah wabarakatuh

Pada percobaan kali saya mencoba menggabungkan sistem basis web service php dengan web service basis nodejs dalam project sistem reminder basis whatsapp gateway.

Sistem reminder basis PHP digunakan untuk management data. Sedangkan web service node js digunakan sebagai gateway komunikasi whatsapp.

Disini saya telah berhasil menggabungkan keduanya, namun ada issue ketika saya menggunakan proxy reserver nginx.

error websocket.js:54

Setelah dicari-cari solusinya, ditemukan satu artikel yang membahas hal tersebut. yaitu di alamat berikut ini: How to Configure Nginx as Reverse Proxy for WebSocket (tutorialspoint.com)

Jadi solusinya saya menambahkan 3 line konfigurasi pada config nginx server.

Klik conf untuk melakukan configurasi proxy reserver nginx pada domain yang sudah ditentukan sebagai domain dari whatsapp gateway-nya
Tambahkan line configurasi tersebut

Konfigurasi lengkapnya adalah seperti berikut ini (perhatikan yang hanya di bold), karena sisanya merupakan default konfigurasi proxy reserver yang telah disediakan oleh nginx aapanel.

#PROXY-START/location ^~ /
{
proxy_pass http://127.0.0.1:9090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
# tambahan untuk mencegah error Websocket pada website
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
#Persistent connection related configurationadd_header X-Cache $upstream_cache_status;#Set Nginx Cache


if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
expires 12h;
}
proxy_ignore_headers Set-Cookie Cache-Control expires;
proxy_cache cache_one;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 301 302 1m;
}
#PROXY-END/

Alhamdulillah, akhirnya problem error tersebut berhasil diatasi (solved).

Note: pada dasarnya tidak menyebabkan koneksi terputus antara socket io server dengan website, namun agak kurang enak dipandang console kita apabila ada error. hhe

Error websocket sudah tidak tampil lagi

Terimakasih bagi teman-teman yang berkunjung dan membaca, semoga bermanfaat. Apabila ada pertanyaan, bisa disampaikan melalui komentar pada halaman ini.

Wsssalamu’alaikum warahmatullah wabarakatuh

--

--