Di artikel sebelumnya mengenai cara menginstal WAHA di VPS kita sudah berhasil sampai tahap menjalankan session WAHA dan melakukan pengetesan API, namun untuk mengakses dashboard WAHA kita perlu menuliskan url http://namadomain:3000.
Kita bisa loh mengakses dashboard WAHA hanya dengan menggunakan nama domain tanpa menambahkan nomor port 3000 di URL bar browser.
Kita juga bisa menambahkan SSL pada nama domain secara gratis. Dengan tambahan SSL, dashboard WAHA akan menjadi lebih aman karena menggunakan protokol https. Jadi kamu bisa buka dashboard WAHA tanpa khawatir ada pesan koneksi tidak aman di halaman website nya.
Penasaran bagaimana caranya? Baca sampai selesai ya!
Memasang Reverse Proxy
Untuk bisa mengakses dashboard WAHA tanpa menggunakan nomor port 3000 kita membutuhkan sebuah reverse proxy. Sederhananya, proxy ini bertujuan sebagai server yang akan menerima request dari pengunjung dan mengarahkan request tersebut ke service WAHA yang berjalan di port 3000 tadi.
Menginstal NGINX
Salah satu reverse proxy yang banyak digunakan adalah NGINX. Jadi kita perlu menginstalnya terlebih dahulu.
Oiya, di sini Minhost menggunakan VPS Pay as You Go dari Citrahost dengan sistem operasi Ubuntu 24. Cara menginstalnya cukup mudah.
apt install nginx -y
root@waha:~# apt install nginx -y
Cek status service nginx.
systemctl status nginx
root@waha:~# systemctl status nginx
● nginx.service – A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Sun 2025-09-21 10:35:07 WIB; 29s ago
Docs: man:nginx(8)
Process: 29784 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 29785 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 29815 (nginx)
Tasks: 3 (limit: 2267)
Memory: 2.4M (peak: 5.1M)
CPU: 34ms
CGroup: /system.slice/nginx.service
├─29815 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
├─29818 "nginx: worker process"
└─29819 "nginx: worker process"
Sep 21 10:35:07 waha.citrayoga.my.id systemd[1]: Starting nginx.service – A high performance web server and a reverse proxy server…
Sep 21 10:35:07 waha.citrayoga.my.id systemd[1]: Started nginx.service – A high performance web server and a reverse proxy server.
Konfigurasi Reverse Proxy
Buat file baru di /etc/nginx/conf.d misalkan nama file nya waha.conf.
vim /etc/nginx/conf.d/waha.conf
root@waha:~# vim /etc/nginx/conf.d/waha.conf
Berikut isi konfigurasi untuk file waha.conf.
server {
listen 80;
server_name <NAMA_DOMAIN_KAMU>;
location / {
proxy_pass_header Authorization;
# meneruskan request ke service WAHA pada port 3000.
proxy_pass http://127.0.0.1:3000;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
}
Ubah bagian <NAMA_DOMAIN_KAMU> sesuai dengan nama domain yang kamu gunakan ya.
Simpan file konfigurasi. Kemudian cek konfigurasi dengan perintah berikut.
nginx -t
root@waha:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Apabila tidak ada error selanjutnya kita restart service nginx.
systemctl restart nginx
root@waha:~# systemctl restart nginx
Sekarang coba akses dashboard WAHA dengan url http://namadomain/dashboard tanpa nomor port 3000. Masukkan user dan password yang sudah dikonfigurasikan pada WAHA.


Terlihat kita berhasil masuk ke halaman dashboard namun pesan error seperti pada saat pertama kita membuka dashboard muncul lagi. Kita perlu mengubah API Key nya. Untuk caranya bisa dilihat di artikel sebelumnya ya mengenai cara menginstal WAHA.
Jika API Key sudah benar maka otomatis sesi yang sudah berjalan akan muncul kembali.

Memasang SSL
Agar akses dashboard WAHA lebih aman lagi, kita akan tambahkan ssl pada nama domain yang kita gunakan. Kita akan memanfaatkan SSL gratis dari Let’s Encrypt.
Instal terlebih dahulu paket certbot dan lainnya yang dibutuhkan untuk mendapatkan sertifikat SSL.
apt install certbot python3-certbot-nginx -y
root@waha:~# apt install certbot python3-certbot-nginx -y
Selanjutnya kita jalankan perintah berikut.
certbot –nginx -d <NAMA_DOMAIN_KAMU>
root@waha:~# certbot –nginx -d waha.citrayoga.my.id
Ubah <NAMA_DOMAIN_KAMU> dengan nama domain yang kamu gunakan ya.
Akan muncul prompt untuk memasukkan alamat email, silakan masukkan alamat email kamu ya.
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel):
root@waha:~# certbot –nginx -d waha.citrayoga.my.id
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): alamatemailkamu@domain
Selanjutnya muncul beberapa prompt lagi, ikuti saja seperti di bawah ini ya.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf. You must
agree in order to register with the ACME server. Do you agree?
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
(Y)es/(N)o: Y
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
(Y)es/(N)o: N
Account registered.
Requesting a certificate for waha.citrayoga.my.id
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/waha.citrayoga.my.id/fullchain.pem
Key is saved at: /etc/letsencrypt/live/waha.citrayoga.my.id/privkey.pem
This certificate expires on 2025-12-20.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for waha.citrayoga.my.id to /etc/nginx/conf.d/waha.conf
Congratulations! You have successfully enabled HTTPS on https://waha.citrayoga.my.id
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
root@waha:~#
SSL sudah berhasil terpasang pada nama domain. Jika kita lihat kembali konfigurasi di nginx yang sudah kita buat sebelumnya akan otomatis dimodifikasi menjadi seperti berikut.
# file /etc/nginx/conf.d/waha.conf
server {
server_name waha.citrayoga.my.id;
location / {
proxy_pass_header Authorization;
# meneruskan request ke service WAHA pada port 3000.
proxy_pass http://127.0.0.1:3000;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/waha.citrayoga.my.id/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/waha.citrayoga.my.id/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = waha.citrayoga.my.id) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name waha.citrayoga.my.id;
return 404; # managed by Certbot
}
Konfigurasi tambahan tersebut sudah menambahkan auto redirect apabila kita mengetikkan url http://namadomain/dashboard akan otomatis diarahkan ke https://namadomain/dashboard. Mari kita coba.

Ternyata kita diminta untuk login kembali dan mengedit API Key lagi agar sesuai dengan Key yang kita gunakan.

Dan… Jreng jreng! Sekarang dashboard WAHA sudah bisa diakses dengan hanya nama domain dan juga sudah menggunakan protokol https.

Selamat! Kamu telah berhasil mengakses dashboard WAHA dengan HTTPS dan tanpa Port 3000. Sekian artikel dari Minhost ya. Semoga bermanfaat!
Butuh VPS untuk kebutuhan proyek atau tempat kerja kamu? Citrahost menyediakan berbagai layanan VPS. Kunjungi website Citrahost ya.






