برنامه نویسی

احراز هویت را در Nginx تنظیم کنید

هنگام استفاده از Nginx، ممکن است بخواهید دسترسی به URL ها یا مسیرهای خاصی را محدود کنید. برای این کار، می‌توانیم احراز هویت را تنظیم کنیم، و این چیزی است که امروز خواهیم دید.


فیچیر htpasswd

برای اینکه کاربران بتوانند وارد شوند، Nginx باید فایل را داشته باشد htpasswd که شامل لیست نام کاربری و رمز عبور آنها با فرمت زیر خواهد بود:

user1:password1
user2:password2
...
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نام‌های کاربری به صورت متن ساده هستند، اما رمزهای عبور باید با آن رمزگذاری شوند BCrypt.

ساده ترین راه برای ایجاد این فایل و رمزگذاری رمزهای عبور این است که این کار را با ابزار کاربردی انجام دهید. htpasswd.

نصب کننده htpasswd

این ابزار در بسته بندی موجود است apache2-utilsکه می توانید با دستورات زیر نصب کنید:

sudo apt-get update
sudo apt-get install apache2-utils
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از htpasswd استفاده کنید

دستور در قالب زیر است:

htpasswd [option] [chemin fichier] [nom utilisateur]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

گزینه مفید برای دانستن این است -c تا امکان ایجاد فایل فراهم شود.

سپس، تنها کاری که باید انجام دهید این است که هر کاربر/رمز عبور را تعریف کنید و کارتان تمام است!

مثال

# Créer le fichier et ajouter l'utilisateur toto
htpasswd -c /etc/nginx/htpasswd toto

# Ajouter un autre utilisateur
htpasswd /etc/nginx/htpasswd titi
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


پیکربندی Nginx

در پیکربندی Nginx خود، فقط باید اضافه کنید auth_basic & auth_basic_user_file مانند مثال زیر و Nginx شما آماده است!

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ =404;
        auth_basic "Restricted Content";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


امیدوارم این بتواند به تو کمکی کند! 🍺

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا