استفاده از ماژول احراز هویت پایه Nginx

nginx basic authentication module
31 مرداد 1404

استفاده از ماژول احراز هویت Nginx

ماژول ngx_http_auth_basic_module در Nginx به ما این امکان را می‌دهد که از احراز هویت پایه استفاده کنیم. این ماژول می‌تواند برای محافظت از مسیرها و منابع خاص در وب‌سایت شما به کار رود. با استفاده از این ماژول، می‌توانید یک فایل حاوی نام کاربری و رمز عبور ایجاد کنید و آن را به کنفیگ سرور Nginx خود اضافه کنید.

فرآیند راه‌اندازی این ماژول نیازمند چند مرحله ساده است. ابتدا باید یک فایل حاوی نام‌های کاربری و رمزهای عبور درست کنید. سپس می‌توانید این فایل را به Nginx اضافه کرده و مسیرهای خاصی را تعیین کنید که به احراز هویت نیاز داشته باشند. این امر می‌تواند به طور خاص برای منابعی مثل پانل مدیریت یا محتوای حساس کاربرد داشته باشد.

حالا بیایید نگاهی به چگونگی ایجاد فایل احراز هویت و انجام تنظیمات در Nginx بیندازیم. مطمئن شوید که ماژول ngx_http_auth_basic_module در Nginx شما فعال است. این ماژول معمولاً به طور پیش‌فرض در Nginx موجود است، اما در صورت نیاز، می‌توانید با استفاده از توزیع‌های خاصی از Nginx آن را نصب کنید.

در پایان، با اجرای این تنظیمات، شما می‌توانید وب‌سایت خود را از کاربران غیرمجاز محافظت کنید و مطمئن شوید اطلاعات شما در امان است. حالا بیایید به سراغ کد برویم!

# ایجاد فایل احراز هویت
htpasswd -c /etc/nginx/.htpasswd username

# کانفیگ Nginx برای استفاده از احراز هویت پایه
server {
listen 80;
server_name example.com;
location /protected {
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}

توضیحات کد

ایجاد فایل احراز هویت: htpasswd -c /etc/nginx/.htpasswd username
با این فرمان، یک فایل جدید به نام .htpasswd در مسیر /etc/nginx/ ایجاد می‌شود و کاربری به نام username به این فایل افزوده می‌شود.

کانفیگ Nginx: server { ... }
این بلوک برای تعریف یک سرور Nginx است که به درخواست‌ها پاسخ می‌دهد. در اینجا، راه‌اندازی سرور به پورت 80 و دامنه example.com اختصاص داده شده است.

مسیر حفاظت‌شده: location /protected { ... }
این قسمت مشخص می‌کند که که مسیر /protected به احراز هویت نیاز دارد.

احراز هویت پایه: auth_basic "Restricted Content";
این خط عنوان دیالوگ احراز هویت را مشخص می‌کند که کاربر آن را خواهد دید.

فایل کاربری: auth_basic_user_file /etc/nginx/.htpasswd;
مسیر به فایل .htpasswd داده می‌شود که شامل نام‌های کاربری و رمزهای عبور است.

سوالات متداول

؟

چگونه می‌توانم از ماژول احراز هویت عمومی Nginx استفاده کنم؟

؟

آیا ماژول احراز هویت Nginx برای همه نسخه‌ها در دسترس است؟

؟

نام کاربری و رمز عبور را چگونه باید تنظیم کنم؟