Apakah nginx mendukung otentikasi ldap? Saya baru saja pindah dari apache dan ingin memindahkan semua autentikasi saya yang didasarkan pada openldap dan mod_auth_ldap ke nginx. Beritahu saya jika itu mungkin.
Dari halaman ini berisi daftar semua modul nginx, saya tidak melihat menyebutkan tentang LDAP. Terima kasih,
Ada modul LDAP tidak resmi untuk nginx: nginx-auth-ldap .
sumber
Ada modul pihak ke-3
nginx-auth-ldap
yang dapat Anda gunakan. Saya belum mencobanya, tetapi saya dapat memperbarui jawaban saya nanti.menggunakan nginx X-accel
Dokumentasi untuk
X-accel
hanya menjelaskan bahwa halaman dapat menggunakan header untuk memiliki nginx melayani file (bukanPHP
ataudjango
atauruby
atau nama-Anda-tidak-sebagai-efisien-sebagai-nginx-tumpukan-sini ).misal alur kerja:
/download.php?path=/data/file1.txt
,download.php
pengembalianWWW-Authenticate
+401 Unauthorized
,/download.php?path=/data/file1.txt
tetapi sekarangnginx
memiliki kredensial,nginx
dapat lulus$remote_user
dan$http_authorization
kefastcgi
skrip,download.php
melakukan otentikasi dan memutuskan apakah akan kembali403 Forbidden
atau mengatur headerX-Accel-Redirect
header.pengaturan
internal
lokasi nginxMeskipun Anda dapat menggunakan
X-Accel
untuk melayani aset statis, use case di sini adalah kami ingin permintaan untuk diautentikasi, itulah sebabnya kami menggunakaninternal
.mengatur skrip unduhan
Kita mulai:
harap dicatat : penggunaan skrip PHP
PHP_AUTH_USER
danPHP_AUTH_PW
, yang ditangkap olehnginx
, jadi untuk menggunakannya dalam skrip PHP, kita perlu memberikan untuk menyediakannya secara eksplisit.memasak otentikasi ldap di PHP
Untuk kasus penggunaan saya, saya menginstal
php-fpm
danphp-ldap
pada sistem saya.Berikut adalah fungsi otentikasi yang layak:
Berikut ini adalah jalur kode yang layak untuk akses terlarang:
Dan untuk daging otentikasi LDAP:
Di sini Anda memiliki badan utama skrip yang menggunakan permintaan uri.
penelusuran file semi-transparan
Saya juga menerbitkan ini sebagai intisari :
dan skrip PHP yang hampir sama kecuali badan:
sumber
Singkatnya: Ya, NGINX mendukung LDAP. Ada dua modul tambahan yang tersedia: NGINX memiliki satu, dan ada satu lagi tersedia di github. Solusi NGINX tampak agak rumit pada pandangan pertama, jadi saya memilih yang terakhir, yang disebut nginx-auth-ldap. Saya memasang beberapa catatan instalasi tentang pengalaman saya di utas berikut:
Tambahkan otentikasi ldap ke nginx di RHEL 7
sumber
Sepertinya seseorang mendapat jawaban untuk pertanyaan Anda di http://forum.nginx.org/read.php?2,18552
sumber