Thursday, April 4, 2024
Docker Nginx Nginx Proxy Manager (NPM) Reverse Proxy

Instal Nginx Proxy Manager Via Docker

proxy

“Instal Nginx Proxy Manager Via Docker”

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
Baca Juga :  Cara Manage Kubernet Cluster dengan k9s

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.

(Visited 190 times, 1 visits today)

Similar Posts