- Vercel
- vm lightsail
- cloudflare
- akses setting name server domain
pada clodflare tambahkan domain baru
lalu pilih paket gratis
lalu selseikan setup akan muncul halaman setup name server masukan name server yang muncul ke pengaturan provider domain anda
setelah berhasil akan tampil pengaturan record seperti berikut
Pada vercell aplikasi yang dipilih buka pengaturan masukan nama domain atau subdomain yang diinginkan
lalu klik add akan muncul informasi seperti berikut
lalu pada clodflare klik tambah record
lalu isikan informasi dari vercell sebelumnya, pastika toogle proxied nonaktif untuk vercel
Done!!. tungu beberapa saat maka domain sudah bisa dikunjungi dan mengarah ke aplikasi yang ada di vercel
tutorial ini akan menggunakan proxy nginx di depan semua plikasi yang ada di VM sehingga aplikasi cukup running di localhost pada port tertentu dan oleh nginx akan dilakukan reverse proxy ke target local port.
langkah awal install nginx
sudo apt install nginx
lalu edit file config nginx default linux ubuntu berada pada :
/etc/nginx/sites-enabled/default
ubahlah seperti berikut
server {
listen 80;
listen [::]:80;
server_name tahfidz-api.kafila.app; // nama domain atau subdomain yang akan diarahkan ke nginx
location / {
proxy_pass http://127.0.0.1:8080/kafila-app-tahfiz; // alamat local aplikasi yang akan di host
}
}
lalu dilajutkan dengan mengarahkan domain dari cloudflare ke lightsail, buka pengaturan record dloudflare lalu klik tambah record pilih A record, masukan ip public VM dan pastikan toogle proxied nonaktif:
lalu untuk setup ssl menggunakan lets encrypt SSL kita memerlukan cert-bot nginx untuk menginstall jalankan perintah berikut :
sudo apt install certbot python3-certbot-nginx
lalu restarrt nginx :
sudo nginx -s reload
lalu kita jalankan certbot unutk generate SSL jangan lupa pastikan firewall port terbuka untuk port 80 dan 443, untuk generate ssl jalankan perintah berikut (-d adalah flag domain/subdomain yang akan anda arahkan):
sudo certbot --nginx -d api.kafila.app
akan muncul beberapa dialog iutilah seperti gambar berikut
terakhir reload nginx :
sudo nginx -s reload
setelah itu test buka domain maka akan berhasil 🚀