Nginx

Cara menggunakan Nginx Proxy Manager

Cara menggunakan Nginx Proxy Manager
Nginx adalah pelayan web yang popular dan proksi terbalik yang digunakan untuk mengarahkan lalu lintas dan mengarahkannya ke pelayan lain. Menetapkan Nginx sebagai proksi terbalik boleh memakan masa dan terdedah kepada ralat dan salah konfigurasi. Panduan ini akan menunjukkan kepada anda cara mengatur dan menggunakan pengurus proksi Nginx untuk pengurusan dan konfigurasi yang lebih mudah. Sebelum menyelami tutorial, terdapat beberapa prasyarat. Anda perlu:

  1. Pelayan Linux
  2. Docker dan Docker compose dipasang di pelayan
  3. Root atau pengguna dengan izin sudo

Sekiranya anda mempunyai semua ini, mari kita selami.

Apakah Pengurus Proksi Nginx?

Pengurus proksi Nginx (NPM) adalah sistem pengurusan proksi terbalik yang berjalan di Docker. NPM didasarkan pada pelayan Nginx dan menyediakan pengguna dengan antara muka web yang bersih, cekap, dan cantik untuk pengurusan yang lebih mudah. Alat ini senang disediakan dan tidak memerlukan pengguna mengetahui cara bekerja dengan pelayan Nginx atau sijil SSL. NPM adalah alat sumber terbuka yang dikendalikan oleh pemaju dari seluruh dunia. Sangat sesuai untuk persekitaran pelayan kecil dan persekitaran makmal peribadi. Tutorial ini akan memberi tumpuan untuk menunjukkan kepada anda cara menggunakan pengurus proksi Nginx:

Memasang Docker dan SQLite

Pengurus Proksi Nginx berfungsi sebagai wadah buruh pelabuhan; Oleh itu, ia memerlukan Docker dan docker-compose yang dipasang di pelayan. Demi kesederhanaan, saya hanya akan menggambarkan cara memasang Docker di Ubuntu. Sila rujuk dokumentasi Docker untuk rujukan tentang cara mengaturnya di sistem lain. Untuk memasang Docker di Ubuntu, mulakan dengan membuang pemasangan Docker lama. Langkau ini jika tiada.

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

Seterusnya, pasang repositori dan semua pergantungan menggunakan arahan:

sudo apt-get kemas kini
sudo apt-get install apt-transport-https ca-Certificate curl gnupg lsb-release -y

Tambahkan kunci GPG repositori Docker:

curl -fsSL https: // muat turun.tukang dok.com / linux / ubuntu / gpg | sudo gpg --dearmor -o / usr / share / keyrings / docker-archive-keyring.gpg

Seterusnya, tambahkan repositori stabil menggunakan perintah echo sebagai:

echo "deb [arch = amd64 ditandatangani oleh / / usr / share / keyrings / docker-archive-keyring.gpg] https: // muat turun.tukang dok.com / linux / ubuntu \
$ (lsb_release -cs) stable "| sudo tee / etc / apt / sumber.senarai.d / pelabur.senarai> / dev / null

Akhirnya, kemas kini repositori dan pasang docker menggunakan arahan:

sudo apt-get kemas kini && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-mengarang -y

Sekarang jalankan docker dan aktifkan pada permulaan:

sudo systemctl aktifkan docker.perkhidmatan
sudo systemctl start docker.perkhidmatan
sudo systemctl mengaktifkan containerd.perkhidmatan

Pasang SQLite

Langkah seterusnya adalah memasang pangkalan data SQLite yang akan kita gunakan untuk menjalankan NPM. Perlu diketahui bahawa anda juga boleh menggunakan pangkalan data MySQL.

Terapkan NPM di Docker

Untuk menggunakan Pengurus Proksi Nginx, kita perlu membuat fail penyusun dok untuk menjalankan Docker dan memulakan wadah. Untuk mengetahui lebih lanjut mengenai fail mengarang Docker dan cara kerjanya, pertimbangkan sumber yang dihubungkan di sini. Saya sangat mengesyorkan anda membuat fail pembuat-dok dalam direktori yang anda mempunyai kebenaran penuh.

nano docker-mengarang.keladi

Seterusnya, tambahkan baris berikut ke fail tulis, simpan dan tutup.

versi: "3"
perkhidmatan:
aplikasi:
gambar: 'jc21 / nginx-proxy-manager: terkini'
mulakan semula: selalu
pelabuhan:
# Port HTTP
- '80: 80 '
# Pelabuhan HTTPS:
- '443: 443'
# UI pentadbir
- '81: 81 '
persekitaran:
DB_SQLITE_FILE: "/ data / npm.sqlite "
jilid:
- ./ data: / data
- ./ letsencrypt: / etc / letsencrypt

Akhirnya, jalankan perintah docker-compose sebagai:

docker-menyusun up -d

Ini akan menyebarkan timbunan dari gambar NPM yang ditentukan dalam fail compose docker. Hasil penciptaan:

Membuat rangkaian "debian_default" dengan pemacu lalai
Menarik aplikasi (jc21 / nginx-proxy-manager: terkini)…
terkini: 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
-------------------------------------
Pencernaan: sha256: b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Status: Muat turun gambar baru untuk jc21 / nginx-proxy-manager: terkini
Membuat debian_app_1… selesai

Mengakses NPM UI

Setelah dibuat dan dijalankan, anda boleh log masuk ke Antaramuka menggunakan alamat IP dan port yang ditentukan dalam fail compose docker. Dalam kes ini, port 81.

http: // IP: 81

Adalah lebih baik jika anda menggunakan UI log masuk NPM. Masukkan nama pengguna dan kata laluan sebagai:

[dilindungi e-mel] dan changeme, masing-masing.

Semasa log masuk awal, anda perlu mengemas kini butiran pentadbir.

Setelah anda mengemas kini semua butiran pengguna, anda akan sampai ke papan pemuka utama dari mana anda boleh mengkonfigurasi hos proksi anda:

Bekerja dengan NPM

Setelah memasang dan memastikan pengurus proksi berjalan, kita dapat menambahkan hos proksi untuk memperlihatkan perkhidmatan yang berjalan di pelayan. Navigasi ke Hosts - Proxy Hosts dan klik pada Add Proxy Host.

Pilih skema seperti HTTP atau HTTPS. Sekiranya perkhidmatan yang ingin anda dedahkan tidak menyokong trafik HTTPS, tetap dengan HTTP. Seterusnya, tambahkan nama domain, Teruskan nama host dan IP. Anda juga boleh memilih Blok eksploitasi biasa untuk keselamatan tambahan.

Setelah anda mendedahkan perkhidmatan, cubalah mengaksesnya menggunakan nama host atau IP dan port yang ditentukan. Perkhidmatan ini mesti diakses. Anda juga boleh menguruskan proksi dalam senarai hos proksi.

Senarai Akses NPM

Dalam beberapa keadaan, kita mungkin perlu mendedahkan aplikasi atau perkhidmatan pada senarai proksi NPM ke alamat IP tertentu. Untuk mengkonfigurasi ini, anda boleh menggunakan Senarai Akses NPM.

Navigasi ke Senarai Akses dan klik pada Tambah Proksi Senarai. Di sini, berikan nama senarai akses kepada mereka; anda juga boleh memilih Satisfy Any.

Pada tab kebenaran, tetapkan nama pengguna dan kata laluan yang akan anda gunakan untuk log masuk ke perkhidmatan.

Navigasi ke Tab Akses dan tambahkan alamat IP yang anda mahu membenarkan sambungan dan tolak semua yang lain.

Untuk melampirkan Daftar Akses ke aplikasi web tertentu, arahkan ke Hosts - Proxy Host dan pilih host anda. Klik Edit dan tetapkan senarai akses seperti yang dinyatakan di atas.

Memperuntukkan Sijil SSL

NPM juga membolehkan anda menyediakan sijil SSL pada pelbagai nama domain. Sebelum menambahkan nama domain ke peruntukan SSL, pastikan domain tersebut menunjuk ke pelayan proksi NPM.

Navigasi ke sijil SSL, dan klik Tambah sijil SSL. Berikan nama domain dan alamat e-mel untuk Let's Encrypt. Akhirnya, Setuju dengan syarat perkhidmatan dan simpan. Anda juga boleh menambahkan cabaran DNS, tetapi saya tidak akan membahasnya dalam tutorial ini.

Ini akan membuat sijil SSL dipercayai baru.

Sesuaikan Halaman Utama

Anda juga dapat menyesuaikan halaman Web lalai untuk pelayan NPM. Klik pada Tetapan - Laman lalai dan pilih Edit. Anda boleh memilih untuk menunjukkan KESALAHAN 404, Redirect ke alamat baru, atau Buat halaman tersuai.

Sebagai contoh, di bawah adalah kod HTML untuk menunjukkan 403 Dilarang.







403 Terlarang


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

Kesimpulannya

Tutorial ini telah melihat pemasangan dan penggunaan pengurus Proxy Nginx pada pelayan Ubuntu yang menjalankan Docker. Kami kemudian merangkumi cara mengkonfigurasi NPM dan menambahkan hos ke pengurus proksi.

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

Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...
0 A.D. Tutorial
Daripada banyak permainan strategi di luar sana, 0 A.D. berjaya menonjol sebagai tajuk yang komprehensif dan permainan taktikal yang sangat mendalam w...
Tutorial Unity3D
Pengenalan Unity 3D Unity 3D adalah enjin pengembangan permainan yang kuat. Ini adalah platform silang yang memungkinkan anda membuat permainan untuk ...