
Cara menerapkan domain kedalam Docker app di VPS
29 January, 2025
0
0
0
Contributors
Pastikan domain sudah diarahkan ke IP Public VPS kamu
sebelum ke langkah yang lebih teknis, kamu harus memastikan bahwa domain kamu sudah diarahkan ke IP Public VPS
untuk domain, kalian bisa membeli dari provider mana saja, asalkan konfigurasi A record di arahkan ke IP Public VPS kita, lalu bagaimana cara melakukan konfigurasi DNS pada domain kita?
Kunjungi Dashboard tempat kamu membeli sebuah domain
Pada dasarnya kamu bebas untuk membeli domain di provider mana saja, yang jelas setiap provider akan menyediakan dashboard untuk kamu mengelola domain yang baru saja kamu beli.
Masuk ke Menu DNS Management
Setelah kamu berhasil membeli sebuah domain, segera buka menu DNS Management untuk mengelola domain agar dapat menambahkan Record Record yang dibutuhkan untuk mengarahkan domain ke Docker Application kita yang sudah kita deploy ke VPS.
Tambah DNS Record Baru
Ada 2 record yang wajib kamu tambahkan agar Domain kita dapat dikaitkan dengan Docker Application kita
A Record (Address Record)
A Record digunakan untuk memetakan nama domain ke alamat IP v4. Misalnya, jika kamu memiliki domain example.com
dan ingin mengarahkannya ke server dengan IP 192.168.1.1
, maka A Record-nya seperti ini:
example.com. IN A 192.168.1.1
Seperti contoh saya menggunakan provider rumahweb.com, saya akan membuat domain saya mengarah ke ip public milik vps saya
CNAME Record (Canonical Name Record)
CNAME digunakan untuk mengarahkannya ke domain lain, bukan langsung ke IP. Misalnya, kamu ingin www.example.com
diarahkan ke example.com
, maka kamu bisa menggunakan CNAME:
www.example.com. IN CNAME example.com.
Ini berguna jika alamat IP dari example.com berubah, karena www.example.com akan tetap mengikuti perubahan itu secara otomatis.
DNS Propagation
Apa itu DNS Propagation? sederhananya ketika kamu merubah A Record / CNAME Record kamu bisa menganalogikan bahwa kamu baru saja menetapkan alamat rumah baru untuk domain kamu yakni ke sebuah ip public tertentu. maka butuh waktu untuk teman-teman kamu semua mengetahui bahwa kamu sudah berpindah dari alamat A ke alamat B.
ketika ada yang mengunjungi website bersamaan dengan kamu mengubah A Record kemungkinan besar masih akan diarahkan ke alamat yang lama (bisa karena cache ISP) maka dari itu diperlukan beberapa puluh menit agar semuanya tahu alamat baru kamu.
kamu bisa track proses DNS Propagation disini
Setelah keduanya di konfigurasi, kamu tinggal menunggu proses DNS Propagation selesai, sambil menunggu kita bisa sambil menyiapkan VPS server kita.
Deploy Docker Application di VPS
bagi kamu yang sudah memiliki Docker Application, maka bisa lanjut saja ke step Install Nginx, namun jika kamu belum memiliki Docker Application dan bahkan belum familiar, kamu dapat mengikuti tutorial berikut
setelah mengikuti tutorial tersebut, maka kamu akan memiliki sebuah website dengan http://ip-public:2221 yang sekarang sudah dapat kamu akses di web browser
Install nginX pada VPS
Jika sebelumnya kamu belum menginstall NGINX di vps kamu, maka hal pertama yang harus kamu lakukan adalah menginstall NGINX dengan perintah
sudo apt install nginx -y
setelah semuanya terinstall, langkah selanjutnya kamu harus membuat sebuah konfigurasi yang memberitahukan nginx bahwa dnsname dengan namadomainkamu.com akan diarahkan kedalam container app yang sedang berjalan di server.
tugas kita saat ini, berarti kita akan membuat sebuah domain terhubung dengan docker app kita
jalankan perintah berikut, kamu bisa mengganti semua (my-domain) sesuai dengan domain kamu.
sudo nano /etc/nginx/sites-available/my-domain.conf
Perintah diatas akan membuka sebuah file dengan nama my-domain.conf, maka masukan rules dibawah ini.
#my-domain.conf
server {
server_name my-domain.com www.my-domain.com;
location / {
proxy_pass <http://127.0.0.1:8080>; # Ganti dengan port container kamu
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Setelah selesai membuat Konfigurasi, kamu harus mengaktifkan konfigurasi tersebut dengan perintah
sudo ln -s /etc/nginx/sites-available/my-domain.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Penjelasan mengenai Nginx Sites-available
Untuk lebih detail mengenai Command diatas kamu bisa mengunjungi Artikel berikut:
Hingga saat ini kamu sudah berhasil menghubungkan domain kamu ke container application, kamu bisa mengunjungi http://domainkamu.com
bisa dilihat dari link bahwa kamu belum menggunakan protocol secure, domain yang dikunjungi masih berupa http belum dapat menggunakan https, jika kamu ingin menggunakan https maka lanjut ke tahapan dibawah ini.
Install SSL Certificate From Lets Encrypt
Jalankan 2 Peintah dibawah ini
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d my-domain.com -d www.my-domain.com
Penjelasan Perintah:
sudo apt install certbot python3-certbot-nginx -y
👉 Perintah ini menginstal Certbot dan plugin Nginx untuk SSL.sudo
: Menjalankan perintah sebagai superuser (administrator).apt install
: Menggunakan manajer paketapt
untuk menginstal perangkat lunak.certbot
: Alat untuk mendapatkan dan mengelola sertifikat SSL dari Let's Encrypt.python3-certbot-nginx
: Plugin Certbot untuk mengotomatisasi konfigurasi SSL di Nginx.y
: Secara otomatis menyetujui instalasi tanpa meminta konfirmasi.
sudo certbot --nginx -d my-domain.com -d
www.my-domain.com
👉 Perintah ini meminta sertifikat SSL untuk domain yang disebutkan dan mengonfigurasinya di Nginx secara otomatis.
Setelah langkah ini selesai maka selamat, kamu sudah dapat mengunjungi https://domainkamu.com di web browser.certbot --nginx
: Menggunakan Certbot dengan plugin Nginx untuk mengonfigurasi SSL.-d my-domain.com -d www.my-domain.com
: Menentukan domain yang akan diamankan dengan sertifikat SSL.
docker
domain
vps
ssl