Konfigurasikan Authelia dengan Nginx Proxy Manager
Apa itu Authelia?
Authelia adalah server autentikasi dan otorisasi sumber terbuka yang menyediakan autentikasi dua faktor dan sistem masuk tunggal (SSO) untuk aplikasi Anda melalui portal web. Ini bertindak sebagai pendamping untuk proxy terbalik seperti nginx, Traefik. https://www.authelia.com/docs untuk memberi tahu mereka apakah permintaan harus diizinkan atau dialihkan ke portal Authelia untuk autentikasi. Dokumentasi tersedia di HAProxy atau caddy
Apa itu Manajer Proksi Nginx?
Nginx Proyx Manager (NPM) adalah . NPM didasarkan pada server Nginx dan menyediakan antarmuka web yang bersih, efisien, dan indah kepada pengguna untuk pengelolaan yang lebih mudah.sistem manajemen proksi terbalik yang berjalan di Docker
Manajer Proksi Authelia + Nginx
Jika Anda menghosting sendiri aplikasi apa pun seperti saya di homelab Anda, Anda mungkin memerlukan mekanisme autentikasi untuk ditempatkan di depan aplikasi Anda. di sinilah Authelia masuk. Authelia menyediakan aplikasi web untuk otentikasi (pastikan Anda adalah seseorang yang seharusnya menggunakan aplikasi) dan otorisasi (pastikan Anda diizinkan menggunakannya) di depan aplikasi web Anda yang ada.
ada beberapa cara untuk mengimplementasikan Authelia, saya akan menggunakan Nginx Proxy Manager dalam contoh ini.
Apa yang Anda perlukan
- Server dengan Docker, Docker-Compose, dan Nginx Proxy Manager Terinstal dan Siap
- Domain/Sub-domain alamat FQDN yang ingin Anda gunakan untuk instalasi Authelia Anda (mis. auth.example.com)
- Catatan A yang menunjuk ke alamat IP Publik tempat server Anda berada.
- Dan beberapa waktu untuk dihabiskan
Menginstal Docker, Docker-Compose, dan Nginx Proxy Manager
Anda dapat mengikuti panduan ini untuk menginstal NPM.
Buat dan Konfigurasikan instance Authelia di NPM
Sebelum kita memulai penyiapan, Anda harus memiliki alamat FQDN yang valid untuk instance autentikasi Anda, dalam kasus kami adalah Authelia. jika tidak, buat entri CNAME yang akan berfungsi sebagai titik akhir. dalam contoh ini, kami menganggap instance authelia sebagai auth.example.com
. Instal sertifikat SSL yang valid untuk domain ini.
Tambahkan Host Authelia ke Manajer Proksi Nginx
pastikan untuk mengganti domain auth.example.com
, ip address
dan port number
berdasarkan pengaturan Anda.
Dapatkan Sertifikat SSL untuk instance Authelia Anda
Sekarang, navigasikan ke tab SSL dan dapatkan sertifikat SSL yang valid
Menginstal dan Mengonfigurasi Authelia
Untuk Authelia, Anda memerlukan 3 file:
- buruh pelabuhan-compose.yml
- konfigurasi.yml
- pengguna_database.yml
Docker-Tulis untuk Authelia
Buat direktori bernama "authelia" dan buat subdirektori dan file yang diperlukan
mkdir authelia
cd authelia
mkdir config
mkdir redis
Setelah kita membuat subdirektori ini, buatlah docker-compose.yml
file
nano docker-compose.yml
Dan rekatkan teks berikut ke dalamnya:
version: '3.3'
services:
authelia:
image: authelia/authelia
volumes:
- ./config:/config
ports:
- 9091:9091
restart: unless-stopped
healthcheck:
disable: true
environment:
- TZ=Asia/Kolkata #Change to your Time Zone
depends_on:
- redis
redis:
image: redis:alpine
volumes:
- ./redis:/data
expose:
- 6379
restart: unless-stopped
environment:
- TZ=Asia/Kolkata
Pastikan untuk memeriksa ulang port-port yang kosong di server Anda dan ubah zona waktu yang sesuai.
File Konfigurasi
mari kita buat file configuration.yml
di dalam direktori config
cd config
nano configuration.yml
Di file itu, tempelkan yang berikut ini:
Harap pastikan Anda telah mengganti nilai di bawah ini.
- default_redirection_url:
https://auth.example.com
- nama belakang:
<email address>
- kata sandi:
<strong password>
- tuan rumah:
<SMTP Server Address>
- pengirim:
<Sender Email Address>
- nama server:
<SMTP Server address>
File Basis Data Pengguna
Sekarang mari kita buat database pengguna, yaitu mereka yang ingin mengakses layanan Anda
buat users_database.yml
folder config
dalam
rekatkan yang berikut ini ke dalam file, dan modifikasi sesuai kebutuhan Anda.
users:
john:
displayname: "John Wick"
password: "$argon2id$v=19$m=65536,t=3,p=2$BpLnfgDsdfdsgdthgdsdfsdfdg6bUGsDY//8mKUYNZZaR0t4MFFSs+iM"
email: johnwick@authelia.com
groups:
- admins
- dev
harry:
displayname: "Thanos Infinity"
password: "$argon2id$v=19$m=65536,t=3,p=2$BpLnfgjhfrtretasdfdfghja44sdfdfa/8mKUYNZZaR0t4MFFSs+iM"
email: thanos@authelia.com
groups: []
Untuk Membuat kata sandi hash gunakan perintah di bawah ini
docker run authelia/authelia:latest authelia hash-password 'yourpassword'
Uji Pengaturan Authelia
Sekarang Anda dapat menguji pengaturan authelia, untuk memastikan bahwa server dikonfigurasi dengan benar. tahap selanjutnya Anda dapat menambahkan ini ke layanan Anda
jalankan buruh pelabuhan authelia Anda di direktori induk dengan menjalankan perintah di bawah ini
docker-compose up
Sekarang pergi kehttps://auth.example.com
Anda akan diminta dengan layar login. Anda sekarang dapat memasukkan nama pengguna dan kata sandi Anda, dan pastikan Anda dapat masuk.
Siapkan situs NGinX Proxy Manager kami untuk Authelia
Sekarang bagian terakhir, Anda perlu menambahkan file konfigurasi di bawah ini di setiap host proxy yang Anda perlukan untuk memiliki login SSO. Salin kode di bawah ini dan buat penyesuaian berdasarkan aplikasi dan tempelkan kode yang sama di tab Advanced
di Nginx Proxy Manager
Anda perlu menyesuaikan bagian-bagian di bawah ini berdasarkan pengaturan Anda.
<authelia internal ip address with port number>
<appname>
harus sesuai dengan aplikasi<your application internal ip address with port number>
https://auth.<example.com>/?rd=$target_url;
Sekarang buka Advanced
tab Custom Nginx Configuration
di masing-masing aplikasi.
Klik Save
, Uji aplikasi Anda sekarang.
Jika Anda memerlukan panduan Video, ada panduan Luar Biasa yang dapat Anda ikuti.
Tidak ada komentar:
Posting Komentar