Nginx Reverse Proxy untuk Multi-Container

Ayi angio
Arunatech
Published in
2 min readJan 2, 2021

--

Photo by Vital Sinkevich on Unsplash

Halo teman-teman, selamat tahun baru semoga di tahun ini segala doa dan harapan baik dari teman-teman dipermudah dan dikabulkan oleh tuhan yang maha kuasa Aamiin !!!

Pada tulisan ini, saya ingin berbagi cara me-reverse request yang masuk dari user ke aplikasi kita yang berjalan pada container.

Sebelum nya ada beberapa syarat yang teman-teman harus siapkan terlebih dahulu.

Persyaratan

  • Aplikasi yang berjalan pada container, minimal dua container atau bisa menggunakan docker-compose bisa copy disini
  • Domain yang digunakan untuk masing-masing domain
  • VPS ( Virtual Private Server )

Menjalankan semua Aplikasi

  • Jalankan semua Container

Jalankan semua container yang ada pada server anda, jangan lupa untuk memastikan bisa diakses ya containernya.

  • Buat Domain/Sub Domain

Buat domain dan subdomain dan arahkan ke IP public VPS teman-teman.

  • Install nginx

Install nginx dan pastikan tidak dijalankan melalui container.

  • Install Certbot

Install Certbot khusus nginx, ini berfungsi untuk membuat sertifikat SSL.

Generate SSL

  • Buat file konfigurasi untuk domain/subdomain teman-teman
sudo nano /etc/nginx/sites-available/example.com
  • Sesuaikan konfigurasi dibawah ini dengan domain/subdomain teman-teman
nginx.conf
  • Symlink file konfigurasi kalian.
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
  • Periksa konfigurasi Nginx
sudo nginx -t
  • Restart Nginx
sudo systemctl restart nginx
  • Generate SSL
sudo certbot --nginx -d example.com
  • Ubah file konfigurasi yang kalian buat diawal menjadi seperti ini
example.com
  • Ubah example.com menjadi domain/subdomain kalian
  • Pada baris ke-22 ubah dengan ip docker dan port yang kalian expose pada docker-compose.yml
  • Untuk melihat IP di container teman-teman bisa menggunakan perintah
docker inspect (id container)
  • Restart nginx
  • Untuk domain/subdomain yang lain, Ulangi langkah pada section Generate SSL dari awal

--

--