استفاده از ماژول احراز هویت 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
داده میشود که شامل نامهای کاربری و رمزهای عبور است.