Apa yang bisa kami bantu?

A. Pendahuluan
Nginx Proxy Manager adalah sebuah aplikasi open-source yang menyediakan antarmuka pengguna berbasis web untuk mengelola proxy reverse dan layanan proxy pada server Nginx. Aplikasi ini sangat berguna bagi administrator sistem dan pengembang web yang perlu mengarahkan lalu lintas web ke berbagai aplikasi atau layanan di dalam jaringan dengan cepat dan aman menggunakan server Nginx. Dengan menggunakan antarmuka web yang mudah digunakan, Nginx Proxy Manager memudahkan untuk mengatur dan mengelola proxy reverse tanpa harus melakukan konfigurasi manual yang cukup rumit.

 

B. Instalasi dan Konfigurasi
Untuk menginstal Nginx Proxy Manager dengan Docker , Anda perlu mengikuti beberapa langkah dasar diantaranya:
1. Pastikan Anda telah install Docker, apabila belum silakan dapat install terlebih dahulu dan sesuaikan dengan OS yang akan Anda gunakan. Disini Kami menggunakan Ubuntu 18.04.

2. Instal docker-compose 
Jalankan perintah berikut untuk mendownload file binary docker-compose.

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Jalankan perintah berikut untuk membuat file binary docker compose menjadi file executable.

$ sudo chmod +x /usr/local/bin/docker-compose

3. Membuat File docker-compose

Silakan membuat direkori untuk menyimpan konfigurasi nginx proxy manager, dengan nama nginx-proxy

$ mkdir nginx-proxy && cd nginx-proxy

Buat sebuah file dengan nama docker-compose.yml

$ vim docker-compose.yml

Buat 2 direkori yang masing-masing untuk menyimpan user data and sertifikat SSL.

$ mkdir {data,letsencrypt}

Salin baris kode berikut ke dalam file 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

4. Membuat docker-network untuk Nginx Proxy Manager 

Perintah berikut untuk membuat internal network nginx proxy Manager

$ docker network create npm-nw

5. Jalankan proxy manager

$ docker-compose up –d

Setelah selesai ter-build, cek containernya dengan perintah berikut

$ docker ps

6. Apabila sudah berhasil, Anda bisa menjalankan http://IP_Address:81 untuk akses control panel Nginx Proxy Manager via web browser. Berikut hasilnya:

Gambar 1. Control panel nginx manager

 

Anda dapat login dengan kredensial default sebagai berikut:
Email address: admin@example.com 
Password: changeme

7. Jika sudah berhasil Login, maka Anda akan diarahkan untuk mengatur email dan nama seperti berikut:

Gambar 2. Konfigurasi control panel Nginx Proxy Manager

 

8.Setelah mengatur nama dan email lalu akan diarahkan untuk mengatur password login

Gambar 3. Konfigurasi password control panel Nginx Proxy Manager

 

9.User Anda sudah berhasil dibuat.

Gambar 4. Informasi user

 

10. Akses  http://IP_Address/ kemudian Anda akan diarahkan pada tampilan default nginx Proxy Manager

Gambar 5. Informasi berhasil konfigurasi

 

11. Agar mempermudah akses tanpa menggunakan IP Address, maka disarankan untuk setting domain untuk Control Panel Nginx Proxy Manager.

  • Pastikan domain telah di pointing ke IP Address yang Anda miliki pada DNS Management domain Anda. 
  • Pada menu Host pilih Proxy Host kemudian klik Add Proxy Host. Silakan dapat diisikan domain, IP Address yang akan Anda gunakan.
     
Gambar 6. Membuat proxy host

 

12. Selanjutnya untuk SSL, klik tab SSL, lalu sesuaikan seperti gambar dibawah lalu klik save

Gambar 7. KOnfigurasi ssl proxy host

 

Proxy Host sudah berhasil di setting, berikut detailnya:

Gambar 8. Informasi proxy host yang sudah selesai dibuat

 

13. Jika sudah selesai, silakan Anda akses domain yang sudah ditambahkan untuk mengakses Nginx Control Manager yang sudah terpasang SSL.

 

C. Hasil Uji Coba

Untuk pengujiannya, disini akan melakukan test membuat reverse proxy untuk web server Nginx

  • sediakan 1 server lagi untuk reverse proxy
  • sediakan subdomain yang telah Anda pointing ke IP adrress  server yang digunakan untuk menginstall nginx proxy manager tadi.
  • Lakukan setting domain dan ssl seperti yang dilakukan sebelumnya. Silakan isi dengan IP Address baru dan subdomain yang telah dipointing tadi kemudian gunakan port 80. Berikut contohnya:
Gambar 9. Uji coba proxy

 

  • Apabila sudah selesai, maka akan muncul  2 proxy host seperti berikut:
Gambar 10. Proxy host

 

  • Untuk pengetesannya, silakan dapat akses ke subdomain  yang telah Anda buat . Disini hasil pengetesan kami.

Sebelum dilakukan reverse proxy
 

Gambar 11. Uji Coba sebelum reverse Proxy

 

Setelah dilakukan reverse proxy

Gambar 12. Uji coba setelah reverse prixy

 

D.Kesimpulan

Dengan menggunakan Nginx Proxy Manager, akan mempermudah Anda dalam Aplikasi menambahkan, mengedit, dan menghapus domain dan subdomain, serta mengonfigurasi proxy apabila Anda memiliki banyak aplikasi atau layanan yang perlu di-proxykan.

 

Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui  Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com atau (021) 5714567.