Auth Basic NGINX қалай конфигурацияланады

14.03.2021, 22:14

Сіз Auth Basic не екенін ешқашан ойламаған боларсыз, бірақ оны маршрутизатор параметрлеріне кіру кезінде кездестірдіңіз. Веб-сервер деңгейінде пайдаланушы аты мен пароль арқылы авторизациялау механизмі осылай аталады. Авторизацияның бұл түріне Apache және Nginx қолдау көрсетеді. Бұл нұсқаулықта біз Auth Basic-ті нақты маршрут немесе белгілі бір сайт үшін қалай конфигурациялау керек сияқты сұрақты қарастыруды ұсынамыз.

NGINX жүйесінде Auth Basic параметрін орнату

Auth Basic авторизациясының терезесі келесідей:

Негізгі авторизациялау терезесі

Енді сіз бұл нұсқаулықтың не туралы болатындығын түсінуіңіз керек. Белгілі бір URL мекенжайы, бүкіл сайт немесе барлық сайттар үшін авторизацияны конфигурациялауға болады. Бірақ алдымен пайдаланушылар мен құпия сөздер тізімі бар файлды жасау керек. Ол үшін htpasswd утилитасын қолданамыз. Пәрменнің синтаксисі:

 $ sudo htpasswd -c /path/to/file username

Бұл жағдайда -c опциясы жаңа файлды жасау үшін пайдаланылады, оны бұрын жасалған файлдарды өңдеу үшін пайдалану қажет емес. Мысалы:

$ sudo htpasswd -c /etc/nginx/auth.basic admin

Негізгі автор

Бағдарлама құпия сөзіңізді екі рет сұрайды. Қауіпсіздік мақсатында құпия сөз көрсетілмейді, бірақ ол енгізілген. Мұндай файлды жасағаннан кейін Nginx конфигурациясына тікелей кірісуге болады.

Барлық ресурстарды құпия сөзбен қорғау үшін /etc/nginx/nginx.conf файлының http бөліміне директиваны қосу керек:

 auth_basic "Restricted area"; auth_basic_user_file /etc/nginx/auth.basic;

Nginx орнату

Белгілі бір бет мекенжайын (URL) қорғау үшін сәйкес орналасу блогына директиваны қосу керек. Бұл /wp-admin/admin-ajax.php болуы мүмкін:

 location /wp-admin/admin-ajax.php { auth_basic "Restricted area"; auth_basic_user_file /etc/nginx/auth.basic; }

Nginx орнату

Егер сайт WordPress-те болса, location орналастырған дұрыс location/ . Барлық сипатталған ережелер жұмыс істейді, сонымен қатар қорғаныс қамтамасыз етіледі. Белгілі бір location кіруге рұқсат беру қажет болса, директива мына auth_basic "off" сияқты көрінеді:

 location /wp-admin/admin-ajax.php { auth_basic "off"; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9002; fastcgi_index index.php; include /etc/nginx/fastcgi_params; }

орынды құру

location блогына PHP өңдеуі қосылған болуы керек, әйтпесе пайдаланушыға өзі қатынасатын сценарийді жүктеп алу мүмкіндігі ұсынылады.

Осылайша, Nginx-те қол жеткізуді орнату қиын емес. Сізге тек орналасу блогын дұрыс орнату қажет.