“Instal Nginx Proxy Manager Via Docker”
Daftar Isi
Pengantar
Nginx Proxy Manager adalah sebuah aplikasi open-source yang menyediakan antarmuka grafis (GUI) untuk mengatur dan mengelola proxy reverse menggunakan server web Nginx. Dengan Nginx Proxy Manager, pengguna dapat dengan mudah membuat, mengkonfigurasi, dan mengelola proxy reverse untuk mengarahkan lalu lintas web dari satu alamat IP atau nama domain ke alamat IP dan port lainnya.
Fitur utama Nginx Proxy Manager meliputi:
- Antarmuka Pengguna Grafis: Nginx Proxy Manager menyediakan antarmuka web berbasis GUI yang memudahkan pengguna dalam mengatur dan mengelola proxy reverse. Ini memungkinkan pengguna yang tidak terbiasa dengan konfigurasi manual Nginx untuk melakukan tugas tersebut dengan mudah.
- Pengaturan Proxy Reverse yang Fleksibel: Pengguna dapat dengan mudah menentukan pengaturan proxy reverse, termasuk mengarahkan lalu lintas ke alamat IP dan port tertentu, mengatur nama domain, mengatur SSL/TLS, dan banyak lagi.
- Manajemen Nama Domain: Nginx Proxy Manager menyederhanakan manajemen nama domain dengan menyediakan pengaturan DNS dan kemampuan untuk menambahkan catatan DNS, termasuk A, AAAA, CNAME, dan lainnya.
- Sertifikat SSL/TLS Otomatis: Aplikasi ini juga dapat menghasilkan dan memperbarui sertifikat SSL/TLS otomatis menggunakan Let’s Encrypt, sehingga memudahkan pengguna untuk mengamankan lalu lintas web mereka.
- Pengelolaan Pengguna: Nginx Proxy Manager mendukung manajemen pengguna dengan otorisasi berbasis peran (role-based authorization). Ini memungkinkan pengguna untuk mengatur akses dan hak pengguna lain dalam mengelola proxy reverse.
Dengan Nginx Proxy Manager, pengguna dapat dengan cepat dan mudah mengonfigurasi proxy reverse untuk meneruskan lalu lintas web, mengamankan situs web dengan SSL/TLS, dan mengatur manajemen nama domain. Ini menjadi solusi yang populer untuk mengelola proxy reverse dengan cara yang sederhana dan intuitif.
Persiapan
Membuat File docker-compose
mkdir nginx-proxy && cd nginx-proxy
mkdir {data,letsencrypt}
nano docker-compose.yml
version: "3"
services:
npm-app:
image: 'jc21/nginx-proxy-manager:latest'
container_name: npm-app
restart: unless-stopped
ports:
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
DB_MYSQL_HOST: "npm-db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment the line below if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- npm-db
networks:
- npm-nw
- npm-internal
npm-db:
image: 'mariadb:latest'
container_name: npm-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
networks:
- npm-internal
networks:
npm-internal:
npm-nw:
external: true
Membuat docker-network untuk Nginx Proxy Manager
docker network create npm-nw
Menjalankan Nginx Proxy Manager
docker-compose up -d
docker ps
Akses URL Admin
http://IP_Address:81
Silahkan login dengan kredensial default :
Email address: admin@example.com
Password: changeme
Setting Domain dan SSL untuk Control Panel Nginx Proxy Manager
Ketimbang mengakses control panel NPMnya dengan IP address kita bisa menggunakan domain agar lebih mudah untuk mengaksesnya dengan memanfaat fitur proxy host. Dengan catatan domain tersebut dipointing ke IP Address server yang digunakan untuk menginstall nginx proxy manager.
Dari menu Host pilih Proxy Host kemudian klik Add Proxy Host. Pada bagian Domain Names
silahkan tambahkan domain yang sesuai dengan FQDN kemudian enter. Isi bagian Forward Hostname
dengan IP Address server nginx proxy manager. Tambahkan Forward Port
dengan nilai 81, dan enable Block Common Exploits
.
Kemudian pindah ke tab SSL. Pada bagian SSL Certificate
pilih Request a new SSL Certificate
. Aktifkan pilihan Force SSL
dan HTTP/2 Support
.Isi email dengan email Anda dan centang Term of Service.
Jika sudah selesai, domain yang sudah ditambahkan sudah bisa digunakan untuk mengakses control panel nginx proxy manager dan tentunya sudah memiliki sertifikat SSL.
Membuat Reverse Proxy untuk Web Server
Untuk real-casenya, kita akan coba mendemokan bagaimana Nginx Proxy digunakan untuk memforward request dari client/user menuju web server.
Pastikan sudah menyediakan satu subdomain yang dipointing ke VPS nginx proxy manager.
Caranya mirip dengan Langkah 6. Perbedaanya hanya pada IP tujuan web servernya dan juga port yang digunakan, begitu juga untuk retrieve sertifikat sslnya juga sama dengan langkah sebelumnya.
Silahkan save kemudian tunggu hingga proses pembuatan proxy-nya selesai.
Jika sudah selesai silahkan tes akses ke subdomain tersebut, dan cek url-nya apakah sudah memiliki ssl.
Penutup
Sahabat Blog Learning & Doing demikianlah penjelasan mengenai Instal Nginx Proxy Manager Via Docker. Semoga Bermanfaat . Sampai ketemu lagi di postingan berikut nya.