GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Nginx Proxy Manager Synology Petunjuk Penyiapan NAS!

Hari ini kita akan melihat cara menyiapkan Nginx Proxy Manager di NAS Synology.

Jika Anda mengekspos layanan apa pun di jaringan Anda, menggunakan proxy terbalik adalah cara yang bagus untuk meningkatkan keamanan dan kinerja. Proxy terbalik adalah server yang berada di depan server web Anda dan meneruskan permintaan klien ke server web. Dalam istilah awam, Anda hanya perlu mengekspos satu server (menggunakan port 80/443) dan akan dapat mengekspos layanan web sebanyak yang Anda inginkan.

Ini adalah contoh aliran jaringan proxy terbalik (disederhanakan):

Harap diingat bahwa ini adalah alternatif dari Portal Aplikasi Synology tempat Anda dapat mengatur Proksi Terbalik. Jika niat Anda adalah untuk hanya buat proxy terbalik, Anda mungkin ingin menggunakannya, karena tidak ada konfigurasi yang diperlukan (selain pengaturan proxy terbalik)!

1. Petunjuk Penyiapan – Nginx Proxy Manager Synology NAS

Tutorial ini akan menggunakan Synology NAS dan Docker. Karena Nginx Proxy Manager menggunakan database, kita perlu menginstal dua wadah berbeda. Satu untuk database kami dan satu untuk Nginx Proxy Manager. Secara default, Synology menggunakan port 80 dan 443 sehingga menggunakan antarmuka jaringan host kami tidak ideal. Untuk alasan ini, kami akan membuat antarmuka jaringan macvlan (di Docker) yang memungkinkan kami untuk melewati konflik port ini.

1. Instal Docker dari Paket Synology Tengah .

2. Kita perlu membuat beberapa folder yang akan kita petakan container Docker kita. Secara default, paket Docker akan membuat folder bernama docker setelah selesai diinstal. Di dalam folder ini, kita akan membuat folder bernama mariadb dan nginx-proxy .

3. Di dalam nginx-proxy folder, buat dua sub-folder bernama data dan letsencrypt .

4. Buat dan unggah file bernama config.json ke nginx-proxy map. File ini harus berisi konten di bawah ini. Pastikan Anda mengubah SYNOLOGY_NAS_IP ke Alamat IP NAS Synology Anda!

{
   "database": {
   "engine": "mysql",
   "host": "SYNOLOGY_NAS_IP",
   "name": "nginxproxymanager",
   "user": "nginxproxymanager",
   "password": "nginxproxymanager",
   "port": 3306
  }
}

5. Pengaturan folder selesai!

1.1 Pengaturan Antarmuka Jaringan Macvlan &Bridge Docker

1. Pastikan Anda dapat SSH ke NAS Synology Anda. Buka Kontrol Panel , pilih Terminal &SNMP , dan Aktifkan SSH melayani. Jika Anda menggunakan Firewall Synology, pastikan Anda mengizinkan lalu lintas port 22. Saya membuat video tentang cara SSH ke NAS Synology Anda jika Anda memiliki masalah.

2. SSH ke NAS Synology Anda menggunakan alat SSH favorit Anda.

3. Kita perlu membuat antarmuka jaringan macvlan Docker. Pertama, kita perlu menentukan antarmuka jaringan apa yang saat ini ada (pada NAS Synology Anda) dan catat nama adaptornya. Untuk melakukannya, jalankan perintah di bawah ini dan catat nama antarmuka jaringan yang memiliki alamat IP NAS Synology Anda (dalam contoh ini, milik saya adalah eth0).

ifconfig

4. Selanjutnya, Anda perlu menjalankan perintah di bawah ini sambil mengganti subnet yang benar (sebagian besar adalah 192.168.1.0/24 atau 192.168.0.0/24 secara default). Anda juga harus memilih alamat IP yang ingin Anda gunakan yang saat ini tidak digunakan. Saya akan menggunakan 192.168.1.198. CATATAN :npm_network akan menjadi nama jaringan (Anda dapat menggantinya sesuka Anda).

sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.198/32 npm_network

5. Jaringan kami sekarang dibuat. Kami sekarang dapat keluar dari sesi SSH kami dan menonaktifkannya di DSM (jika Anda tidak akan menggunakannya). Jika Anda menonaktifkannya dan membuat aturan firewall untuknya, Anda juga harus menonaktifkan aturan firewall.

6. Selanjutnya, kita perlu membuat jaringan jembatan. Inilah yang akan memungkinkan host (NAS) kami untuk berkomunikasi dengan wadah Nginx Proxy Manager kami. Buka Docker dan navigasikan ke Jaringan bagian. Pilih Tambah dan masukkan subnet yang saat ini tidak digunakan. Alamat IP jembatan yang saya buat adalah 192.168.10.2.

7. Kedua antarmuka jaringan sekarang telah disiapkan!

1.2 Instalasi dan Konfigurasi MariaDB

Nginx Proxy Manager memerlukan database untuk diatur agar dapat berfungsi dengan baik. Sementara Synology menawarkan paket MariaDB, saya ingin memisahkannya dengan membuat wadah Docker kedua untuk database saja.

1. Buka Docker , navigasikan ke Pendaftaran , dan telusuri MariaDB . Unduh yang terbaru versi MariaDB .

2. Setelah gambar selesai diunduh, navigasikan ke Gambar bagian, dan klik dua kali mariadb untuk menyiapkan penampung baru.

3. Beri nama penampung, lalu pilih Lanjutan Setelan .

4. Pilih Aktifkan mulai ulang otomatis .

5. Di Volume bagian, pilih Tambah Map lalu pilih mariadb folder yang kita buat tadi. Di Gunung Jalan bagian, ketik /var/lib/mysql .

6. Di Port Setelan bagian, ubah Port Lokal menjadi 3306 . CATATAN :Jika Anda harus menggunakan sesuatu selain 3306 sebagai port, Anda perlu memperbarui config.json file yang kita buat sebelumnya.

7. Di Lingkungan bagian, kita perlu membuat empat variabel. Variabel-variabel inilah yang akan menyimpan kata sandi root, nama basis data, nama pengguna, dan kata sandi kita. CATATAN :jika Anda tidak ingin menggunakan nilai di bawah ini (nginxproxymanager), Anda dapat mengubahnya menjadi apa pun yang Anda inginkan. Pastikan Anda memperbarui file config.json yang kita buat sebelumnya dengan informasi baru.

8. Pilih Terapkan dan membuat wadah. Basis data sekarang telah dibuat!

1.3 Pengaturan Firewall – Nginx Proxy Manager Synology NAS

Karena kami menggunakan antarmuka jaringan macvlan, tidak ada aturan firewall yang perlu kami siapkan untuk Nginx Proxy Manager. Namun, wadah MariaDB menggunakan antarmuka jaringan host dan untuk alasan itu, memerlukan aturan firewall untuk mengizinkan lalu lintas. Jika Anda belum menyiapkan firewall Synology, saya membuat tutorial tentang cara melakukannya (dan menyarankan Anda melakukannya).

1. Buka Kontrol Panel , pilih Keamanan , lalu Firewall . Pilih Edit Aturan dan tambahkan izinkan aturan untuk port 3306 . CATATAN :Jika Anda menggunakan port yang berbeda di file config.json yang kami buat di atas, Anda harus menggunakan port tersebut alih-alih 3306.

1.4 Penyiapan Kontainer Pengelola Proksi Nginx – Synology NAS

1. Buka Docker , navigasikan ke Pendaftaran , dan telusuri nginx-proxy-manager . Unduh yang terbaru versi jc21/nginx-proxy-manager .

2. Setelah gambar selesai diunduh, navigasikan ke Gambar bagian dan klik dua kali jc21/nginx-proxy-manager untuk menyiapkan penampung baru.

3. Beri nama penampung dan pilih Lanjutan Setelan .

4. Pilih Aktifkan mulai ulang otomatis .

5. Di Volume bagian, kita perlu membuat dua pemetaan folder dan satu pemetaan file. Pilih Tambahkan Folder dan tambahkan data folder dan tambahkan jalur pemasangan /data . Selanjutnya, pilih letsencrypt folder dan tambahkan jalur pemasangan /etc/letsencrypt . Pilih Tambah Berkas dan pilih config.json file yang kita buat sebelumnya dengan jalur mount /app/config/production.json .

6. Di bawah Jaringan , tambahkan npm_network dan npm_bridge jaringan dan hapus jembatan.

7. Cocokkan Port Setelan menjadi seperti gambar di bawah ini. Jika Anda menggunakan 4443, 8080, atau 8081 untuk apa pun, Anda dapat mengubah port ke sesuatu yang saat ini tidak digunakan.

8. Pilih Terapkan dan buat wadahnya! Berikan wadah beberapa menit dan Anda akan dapat mengakses portal admin web melalui alamat IP npm_network dan port 81!

http://[npm_network]:81

2. Pengaturan Nginx Proxy Manager – Synology NAS

1. Masuk dengan alamat email [email protected] dan sandi ubah saya .

2. Saat diminta, ubah nama dan alamat email Anda, lalu atur kata sandi Anda.

3. Nginx Proxy Manager sekarang sudah siap! Pastikan Anda melakukan port forward port 80 dan 443 di router Anda ke macvlan jaringan yang kami buat di atas.

KESALAHAN GERBANG BURUK

Orang-orang tertentu mengalami kesalahan “gerbang buruk” ketika mereka mencoba dan masuk . Setelah memecahkan masalah ini sebentar (dan beberapa saran bermanfaat di komentar), sebenarnya ada dua cara untuk memperbaikinya :

1. Jika NAS Anda memiliki beberapa NIC dan Anda memiliki beberapa alamat IP yang ditetapkan untuknya, dalam file “config.json”, masukkan alamat IP lain dari NAS Anda.

2. Biarkan antarmuka jaringan jembatan buruh pelabuhan default tetap terhubung ke kedua wadah dan gunakan alamat IP tersebut di file config.json.

3. Menggunakan Pengelola Proksi Nginx

Sekarang setelah kita menyiapkan Nginx Proxy Manager, penting untuk mengetahui cara menggunakannya! Saya membuat tutorial yang dapat Anda ikuti yang akan menunjukkan kepada Anda cara mengekspos Plex dan menyiapkan sertifikat SSL. Tutorialnya cukup sederhana, tetapi menyoroti bagaimana Anda dapat mengekspos hampir semua server web dengan cepat, mudah, dan aman!

4. Kesimpulan

Ini adalah tutorial yang cukup rumit, tetapi saya berharap ini cukup dipecah untuk mudah dipahami. Anda tidak perlu menyiapkan dua container Docker yang berbeda agar satu container berfungsi, tetapi menurut saya, ini adalah cara terbaik untuk membuat Nginx Proxy Manager bekerja di Synology NAS.

Terima kasih telah membaca tutorialnya. Jika Anda memiliki pertanyaan, silakan tinggalkan di komentar!


Docker

Memulai dengan Tutorial Azure Docker

  1. Bekerja dengan Gambar Docker dari baris perintah

  2. Perintah Docker Lembar Cheat Referensi Cepat

  3. Semua yang Perlu Anda Ketahui tentang Menggunakan Docker Compose

Cara Memperbarui Kontainer Docker menggunakan Portainer

  1. Bagaimana Melewati Variabel Lingkungan ke Docker Containers

  2. Memulai dengan Gambar Docker yang Dibuat Sebelumnya

  3. Pengantar Singkat Untuk Dockerfile

Cara Mengotomatiskan Audit Keamanan Docker dengan Docker Bench untuk Keamanan

  1. Memasang Kaca Pembesar ke Docker dengan Docker Inspect

  2. Cara Menjalankan Kontainer Docker

  3. Docker – Cara mengatur Jupyter di belakang proxy Nginx