🌐 نحوه محافظت از رمز عبور با احراز هویت .htpasswd در Nginx |

چگونه دسترسی به فهرست / app / موجود در Nginx را محدود كنم؟

چگونه می توان حفاظت از رمز عبور را برای یك دایرکتوری با تأیید اعتبار Nginx .htpasswd در سیستم عاملهای لینوکس یا یونیکس تنظیم کرد؟

] ما باید از فهرستهای مختلف یا نقاط انتهایی در Nginx محافظت کنیم.

به عنوان مثال ، من اغلب رمز عبور را محافظت می کنم و دسترسی را با آدرس IP محدود می کنم تا زمانی که پروژه ام آماده شود.

این آموزش توضیح می دهد که چگونه می توان از پوشه ها یا URL ها مانند / app / در وب سرور Nginx در سیستم عاملهای لینوکس یا یونیکس با رمز عبور محافظت کرد

نحوه محافظت از پوشه با احراز هویت Nginx .htpasswd

روش به شرح زیر است:

  1. یک برنامه ترمینال باز کنید
  2. با استفاده از دستور ssh وارد شوید به سرور خود (ssh user @ ec2-cloud-server-ip)
  3. فایل nginx.conf را ویرایش کنید و دستورالعمل های پیکربندی اساسی HTTP را اضافه کنید : auth_basic "فقط دسترسی محدود" ؛
  4. اطمینان حاصل کنید که پرونده .htpasswd را تنظیم کرده اید: auth_basic_user_file /etc/nginx/.htpasswd؛
  5. یک پرونده جدید .htpasswd ایجاد کنید و اولین نام کاربری را اضافه کنید و رمز ورود: htpasswd -c /etc/nginx/.htpasswd user
  6. سرور Nginx را مجدداً راه اندازی کنید: nginx -s reload

بیایید نگاهی دقیق به همه دستورات و مثالهای تنظیم احراز هویت رمز عبور در Ngin بیندازیم x.

مرحله 1. وابستگی های مورد نیاز را نصب کنید برای تنظیم احراز هویت رمز عبور در Nginx.

شما باید دستور htpasswd را نصب کنید.

این بخشی از وب سرور Nginx نیست.

اما این وابستگی لازم برای محدود کردن دسترسی با استفاده از احراز هویت اساسی HTTP با توجه به توزیع لینوکس / یونیکس است.

بنابراین دستور را وارد کنید:

 Debian / Ubuntu Linux با استفاده از apt ## 
sudo apt apache2-utils را نصب کنید
 ## Fedora / RHEL 8.x با استفاده از dnf ## 
sudo dnf httpd-tools را نصب کنید
 ## CentOS / RHEL 7.x با استفاده از dnf ## 
sudo yum نصب ابزارهای httpd
 ## Linux Alpine با استفاده از apk ## 
sudo apk اضافه کردن apache2-utils 

مرحله 2 – ویرایش پیکربندی Nginx

ویرایش /etc/nginx/nginx.conf یا فایل پیکربندی دامنه مجازی ، به عنوان مثال www.itsecforu.ru.conf پرونده:

 مکان /  {
    try_files $ uri $ uri / /index.php؟$query_string؛
    auth_basic  "ورود ADMIN" 
    auth_basic_user_file /etc/nginx/.htpasswd-itsecforu.ru؛
} 

اکنون از دایرکتوری / app / محافظت کنید:

 location / app /  {
    auth_basic  "برنامه محدود شده و محافظت شده با رمز عبور" ؛
    auth_basic_user_file /etc/nginx/.htpasswd-itsecforu.ru؛
} 

با استفاده از دستور htpasswd یک پرونده جدید /etc/nginx/.htpasswd-itsecforu.ru به شرح زیر ایجاد کنید:

 # htpasswd -c {/ path / به / .htpasswd-file} {userName}
# htpasswd -c /etc/nginx/.htpasswd-itsecforu.ru مدیر 

آیا می خواهید کاربران دیگری ایجاد کنید؟

 # htpasswd /etc/nginx/.htpasswd-itsecforu.ru user2
# htpasswd /etc/nginx/.htpasswd-itsecforu.ru user3 

بیایید مطمئن شویم که پرونده حاوی نامهای کاربری و رمزهای عبور رمزگذاری شده با استفاده از دستور cat به شرح زیر است: # cat /etc/nginx/.htpasswd-itsecforu. ru

سرور را از نظر خطا بررسی کنید:

 # nginx -t 

اگر خطایی وجود ندارد ، وب سرور nginx را دوباره راه اندازی یا راه اندازی مجدد کنید ، وارد شوید:

# nginx -s reload

مرحله 5 – تنظیمات

را امتحان کنید در مرورگر خود ، URL را وارد کنید و مطمئن شوید که پنجره اعتبارنامه نشان داده می شود.

رمز عبور از فهرست های Nginx محافظت می کند و IP / CIDR

را محدود می کند ] ما می توانیم امنیت وب سرور خود را با ترکیب احراز هویت اصلی Nginx HTTP با محدودیت IP یا CIDR پیکربندی کنیم.

ویرایش پرونده پیکربندی Nginx:

 location /  {
    try_files $ uri $ uri / /index.php؟$query_string؛
    راضی کردن همه؛
    auth_basic  "ورود ADMIN" 
    auth_basic_user_file /etc/nginx/.htpasswd-itsecforu.ru؛
    اجازه 202.54.1.2
    اجازه 10.8.1.0/  24  ؛
    انکار همه؛
}