Сіз Auth Basic не екенін ешқашан ойламаған боларсыз, бірақ оны маршрутизатор параметрлеріне кіру кезінде кездестірдіңіз. Веб-сервер деңгейінде пайдаланушы аты мен пароль арқылы авторизациялау механизмі осылай аталады. Авторизацияның бұл түріне Apache және 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;
Белгілі бір бет мекенжайын (URL) қорғау үшін сәйкес орналасу блогына директиваны қосу керек. Бұл /wp-admin/admin-ajax.php
болуы мүмкін:
location /wp-admin/admin-ajax.php { auth_basic "Restricted area"; auth_basic_user_file /etc/nginx/auth.basic; }
Егер сайт 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-те қол жеткізуді орнату қиын емес. Сізге тек орналасу блогын дұрыс орнату қажет.