Nginx

Cara menggunakan Pengelola Proksi Nginx

Cara menggunakan Pengelola Proksi Nginx
Nginx adalah server web populer dan proxy terbalik yang digunakan untuk merutekan lalu lintas dan mengarahkannya ke server lain. Menyiapkan Nginx sebagai proxy terbalik dapat memakan waktu dan rentan terhadap kesalahan dan kesalahan konfigurasi. Panduan ini akan menunjukkan kepada Anda cara mengatur dan menggunakan pengelola proxy Nginx untuk manajemen dan konfigurasi yang lebih mudah. Sebelum masuk ke tutorial, ada beberapa prasyarat. Anda akan perlu:

  1. Server Linux
  2. Penulisan Docker dan Docker diinstal di server
  3. Root atau pengguna dengan izin sudo

Jika Anda memiliki semua ini, mari kita selami.

Apa itu Pengelola Proksi Nginx??

Pengelola proxy Nginx (NPM) adalah sistem manajemen proxy terbalik yang berjalan di Docker. NPM didasarkan pada server Nginx dan memberi pengguna antarmuka web yang bersih, efisien, dan indah untuk manajemen yang lebih mudah. Alat ini mudah diatur dan tidak mengharuskan pengguna untuk mengetahui cara bekerja dengan server Nginx atau sertifikat SSL. NPM adalah alat sumber terbuka yang dikelola oleh pengembang dari seluruh dunia. Ini sangat cocok untuk lingkungan server kecil dan lingkungan lab pribadi. Tutorial ini akan fokus untuk menunjukkan kepada Anda cara menggunakan manajer proxy Nginx:

Menginstal Docker dan SQLite

Pengelola Proxy Nginx berjalan sebagai wadah buruh pelabuhan; dengan demikian, itu membutuhkan Docker dan docker-compose diinstal di server. Demi kesederhanaan, saya hanya akan menggambarkan cara menginstal Docker di Ubuntu. Silakan merujuk ke dokumentasi Docker untuk referensi tentang cara mengaturnya di sistem lain. Untuk menginstal Docker di Ubuntu, mulailah dengan menghapus instalasi Docker lama. Lewati ini jika tidak ada yang tersedia.

sudo apt-get remove docker docker-engine docker.io containerd runc

Selanjutnya, instal repositori dan semua dependensi menggunakan perintah:

sudo apt-get update
sudo apt-get install apt-transport-https ca-sertifikat curl gnupg lsb-release -y

Tambahkan kunci GPG repositori Docker:

curl -fsSL https://download.buruh pelabuhan.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Selanjutnya, tambahkan repositori stabil menggunakan perintah echo sebagai:

echo "deb [Arch=AMD64 ditandatangani-oleh=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.buruh pelabuhan.com/linux/ubuntu\
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.daftar.d/ buruh pelabuhan.daftar > /dev/null

Terakhir, perbarui repositori dan instal buruh pelabuhan menggunakan perintah:

sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y

Sekarang jalankan buruh pelabuhan dan aktifkan saat startup:

sudo systemctl aktifkan buruh pelabuhan.layanan
sudo systemctl mulai buruh pelabuhan.layanan
sudo systemctl aktifkan containerd.layanan

Instal SQLite

Langkah selanjutnya adalah menginstal database SQLite yang akan kita gunakan untuk menjalankan NPM. Baik untuk dicatat bahwa Anda dapat menggunakan database MySQL juga.

Terapkan NPM di Docker

Untuk men-deploy Nginx Proxy Manager, kita perlu membuat file docker-compose untuk menjalankan Docker dan menginisialisasi container. Untuk mempelajari lebih lanjut tentang file penulisan Docker dan cara kerjanya, pertimbangkan sumber daya yang ditautkan di sini. Saya sangat menyarankan Anda membuat file docker-compose di direktori yang Anda miliki izin penuh.

nano docker-compose.yaml

Selanjutnya, tambahkan baris berikut ke file penulisan, simpan dan tutup.

versi: "3"
jasa:
aplikasi:
gambar: 'jc21/nginx-proxy-manager: terbaru'
mulai ulang: selalu
port:
#port HTTP
- '80:80'
# Port HTTPS:
- '443:443'
#Admin UI
- '81:81'
lingkungan Hidup:
DB_SQLITE_FILE: "/data/npm.sqlite"
volume:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

Terakhir, jalankan perintah docker-compose sebagai:

docker-compose up -d

Ini akan menyebarkan tumpukan dari gambar NPM yang ditentukan dalam file komposisi buruh pelabuhan. Keluaran pembuatan:

Membuat jaringan "debian_default" dengan driver default
Menarik aplikasi (jc21/nginx-proxy-manager:terbaru)…
terbaru: Menarik dari jc21/nginx-proxy-manager
801bfaa63ef2: Tarik selesai
7927cd3bbe4c: Tarik selesai
f53b85628da5: Tarik selesai
e834c30791f9: Tarik selesai
6b68b3708dd5: Tarik selesai
963fe519b5fd: Tarik selesai
37e54d057f10: Tarik selesai
-------------------------------------
Intisari: sha256:b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Status: Mengunduh gambar yang lebih baru untuk jc21/nginx-proxy-manager: terbaru
Membuat debian_app_1… selesai

Mengakses NPM UI

Setelah dibuat dan dijalankan, Anda dapat masuk ke Antarmuka menggunakan alamat IP dan port yang ditentukan dalam file komposisi buruh pelabuhan. Dalam hal ini, port 81.

http://IP:81

Akan lebih baik jika Anda mendarat di UI login NPM. Masukkan nama pengguna dan kata sandi sebagai:

[dilindungi email] dan ubah saya, masing-masing.

Pada login awal, Anda harus memperbarui detail administrator.

Setelah Anda memperbarui semua detail pengguna, Anda akan masuk ke dasbor utama tempat Anda dapat mengonfigurasi host proxy Anda:

Bekerja dengan NPM

Setelah menginstal dan memastikan bahwa manajer proxy berjalan, kita dapat menambahkan host proxy untuk mengekspos layanan yang berjalan di server. Arahkan ke Hosts - Proxy Hosts dan klik Add Proxy Host.

Pilih skema seperti HTTP atau HTTPS. Jika layanan yang ingin Anda tampilkan tidak mendukung lalu lintas HTTPS, tetap gunakan HTTP. Selanjutnya, tambahkan nama domain, Forward hostname, dan IP. Anda juga dapat memilih Blokir eksploitasi umum untuk keamanan tambahan.

Setelah Anda membuka layanan, coba akses menggunakan nama host atau IP dan port yang ditentukan specified. Layanan ini harus dapat diakses. Anda juga dapat mengelola proxy di daftar host proxy.

Daftar Akses NPM

Dalam beberapa kasus, kami mungkin perlu mengekspos aplikasi atau layanan pada daftar proxy NPM ke alamat IP tertentu. Untuk mengonfigurasi ini, Anda dapat menggunakan Daftar Akses NPM.

Arahkan ke Access List dan klik Add Proxy List. Di sini, beri mereka nama daftar akses; Anda juga dapat memilih Satisfy Any.

Pada tab otorisasi, atur nama pengguna dan kata sandi yang akan Anda gunakan untuk masuk ke layanan.

Arahkan ke Tab Akses dan tambahkan alamat IP yang ingin Anda izinkan koneksinya dan tolak yang lainnya.

Untuk melampirkan Daftar Akses ke aplikasi web tertentu, navigasikan ke Host - Host Proxy dan pilih host Anda. Klik Edit dan atur daftar akses seperti yang didefinisikan di atas.

Penyediaan Sertifikat SSL

NPM juga memungkinkan Anda untuk menyediakan sertifikat SSL pada berbagai nama domain. Sebelum menambahkan nama domain ke ketentuan SSL, pastikan domain mengarah ke server proxy NPM.

Arahkan ke sertifikat SSL, dan klik Tambahkan sertifikat SSL. Berikan nama domain dan alamat email untuk Let's Encrypt. Akhirnya, Setuju dengan persyaratan layanan dan simpan. Anda juga dapat menambahkan tantangan DNS, tetapi saya tidak akan membahasnya dalam tutorial ini.

Ini akan membuat sertifikat SSL tepercaya baru.

Sesuaikan Halaman Beranda

Anda juga dapat menyesuaikan halaman Web default untuk server NPM. Klik Pengaturan - Situs default dan pilih Edit. Anda dapat memilih untuk menampilkan 404 ERROR, Redirect ke alamat baru, atau Buat halaman khusus.

Sebagai contoh, di bawah ini adalah kode HTML untuk menunjukkan 403 Forbidden.







403 - Dilarang


SUMBER: CodePen https://codepen.io/blecaf/pena/NLoEPY

Kesimpulan

Tutorial ini telah membahas cara menginstal dan menerapkan manajer Proxy Nginx di server Ubuntu yang menjalankan Docker. Kami kemudian membahas cara mengonfigurasi NPM dan menambahkan host ke manajer proxy.

Ingat: Eksperimen yang konsisten adalah kunci penguasaan, jadi bereksperimenlah!

Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...
Cara mengubah penunjuk Mouse dan ukuran kursor, warna & skema pada Windows 10
Penunjuk mouse dan kursor di Windows 10 adalah aspek yang sangat penting dari sistem operasi. Ini dapat dikatakan untuk sistem operasi lain juga, jadi...
Mesin Game Gratis dan Sumber Terbuka untuk Mengembangkan Game Linux
Artikel ini akan membahas daftar mesin game sumber terbuka dan gratis yang dapat digunakan untuk mengembangkan game 2D dan 3D di Linux. Ada banyak mes...