Banyak layanan di satu server dengan Nginx Proxy Manager
Jika satu server menjalankan lebih dari satu proyek, cepat atau lambat Anda akan bertabrakan dengan port 80 dan 443, yang hanya bisa didengarkan oleh satu proses. Artikel Habr dari blog Selectel ini menunjukkan langkah demi langkah cara mengatasinya dengan Nginx Proxy Manager.
Penulis lebih dulu menjelaskan masalahnya: port istimewa, aturan satu pendengar per port, masalah CORS saat frontend dan backend dipisah port, dan tidak adanya HTTPS. Reverse proxy menyelesaikannya sebagai perantara dengan mengarahkan lalu lintas berdasarkan domain dan path. Keuntungan tambahan, firewall hanya perlu membuka port 22, 80, dan 443.
Lingkungan uji adalah VDS dengan 2 vCPU, RAM 2 GB, dan NVMe 40 GB, dengan Ubuntu 24.04 dan Docker dari repositori resmi. Jaringan dibuat dengan docker network create proxy, lalu kontainer jc21/nginx-proxy-manager dijalankan dengan volume untuk data dan sertifikat. Saya suka bahwa panel admin di port 81 hanya terikat ke 127.0.0.1 dan diakses lewat terowongan SSH.
Selanjutnya, host proxy dikonfigurasi: Forward Hostname diisi nama kontainer, dan sertifikat SSL dipasang di tab SSL. Untuk pengujian digunakan traefik/whoami. Kasus ketika aplikasi berjalan langsung di host juga dibahas: alamat gateway jaringan Docker diperoleh dengan docker network inspect, dan firewall diatur agar aplikasi tidak bisa diakses melewati proxy.
Ada juga catatannya. Contohnya mencampur domain yang berbeda, dan imej memakai tag latest sehingga kemampuan reproduksi bisa menurun seiring waktu. Meski begitu, ini titik awal yang baik bagi yang ingin menjalankan beberapa layanan di rumah atau di VDS tanpa mengedit konfigurasi nginx secara manual.
Sumber: Habr (blog Selectel)
Penulis lebih dulu menjelaskan masalahnya: port istimewa, aturan satu pendengar per port, masalah CORS saat frontend dan backend dipisah port, dan tidak adanya HTTPS. Reverse proxy menyelesaikannya sebagai perantara dengan mengarahkan lalu lintas berdasarkan domain dan path. Keuntungan tambahan, firewall hanya perlu membuka port 22, 80, dan 443.
Lingkungan uji adalah VDS dengan 2 vCPU, RAM 2 GB, dan NVMe 40 GB, dengan Ubuntu 24.04 dan Docker dari repositori resmi. Jaringan dibuat dengan docker network create proxy, lalu kontainer jc21/nginx-proxy-manager dijalankan dengan volume untuk data dan sertifikat. Saya suka bahwa panel admin di port 81 hanya terikat ke 127.0.0.1 dan diakses lewat terowongan SSH.
Selanjutnya, host proxy dikonfigurasi: Forward Hostname diisi nama kontainer, dan sertifikat SSL dipasang di tab SSL. Untuk pengujian digunakan traefik/whoami. Kasus ketika aplikasi berjalan langsung di host juga dibahas: alamat gateway jaringan Docker diperoleh dengan docker network inspect, dan firewall diatur agar aplikasi tidak bisa diakses melewati proxy.
Ada juga catatannya. Contohnya mencampur domain yang berbeda, dan imej memakai tag latest sehingga kemampuan reproduksi bisa menurun seiring waktu. Meski begitu, ini titik awal yang baik bagi yang ingin menjalankan beberapa layanan di rumah atau di VDS tanpa mengedit konfigurasi nginx secara manual.
Sumber: Habr (blog Selectel)
Komentar 0
Tinggalkan komentar pertama, dalam bahasa apa pun.
Masuk untuk berkomentar