چگونه دسترسی به فهرست / app / موجود در Nginx را محدود كنم؟
چگونه می توان حفاظت از رمز عبور را برای یك دایرکتوری با تأیید اعتبار Nginx .htpasswd در سیستم عاملهای لینوکس یا یونیکس تنظیم کرد؟
] ما باید از فهرستهای مختلف یا نقاط انتهایی در Nginx محافظت کنیم.
به عنوان مثال ، من اغلب رمز عبور را محافظت می کنم و دسترسی را با آدرس IP محدود می کنم تا زمانی که پروژه ام آماده شود.
این آموزش توضیح می دهد که چگونه می توان از پوشه ها یا URL ها مانند / app / در وب سرور Nginx در سیستم عاملهای لینوکس یا یونیکس با رمز عبور محافظت کرد
نحوه محافظت از پوشه با احراز هویت Nginx .htpasswd
روش به شرح زیر است:
- یک برنامه ترمینال باز کنید
- با استفاده از دستور ssh وارد شوید به سرور خود (ssh user @ ec2-cloud-server-ip)
- فایل nginx.conf را ویرایش کنید و دستورالعمل های پیکربندی اساسی HTTP را اضافه کنید : auth_basic "فقط دسترسی محدود" ؛
- اطمینان حاصل کنید که پرونده .htpasswd را تنظیم کرده اید: auth_basic_user_file /etc/nginx/.htpasswd؛
- یک پرونده جدید .htpasswd ایجاد کنید و اولین نام کاربری را اضافه کنید و رمز ورود: htpasswd -c /etc/nginx/.htpasswd user
- سرور 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؛ }
مرحله 3 – ایجاد یک پرونده رمز عبور
با استفاده از دستور 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
مرحله 4 – سرور nginx را دوباره راه اندازی یا راه اندازی مجدد کنید
سرور را از نظر خطا بررسی کنید:
# 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 ؛ انکار همه؛ }