Auth Basic'in ne olduğunu hiç düşünmemiş olabilirsiniz, ancak yönlendiricinizin ayarlarına girdiğinizde kesinlikle karşılaşmışsınızdır. Bu, web sunucusu düzeyinde kullanıcı adı ve parola ile yetkilendirme mekanizması olarak adlandırılan şeydir. Bu tür bir yetkilendirme hem Apache hem de Nginx'te desteklenmektedir. Bu talimatta, Auth Basic'in belirli bir rota veya belirli bir site için nasıl yapılandırılacağı gibi bir soruyu ele almanızı öneririz.
Auth Basic yetkilendirme penceresi bu şekilde görünür:
Şimdi bu talimatın ne hakkında olduğunu anlamalısınız. Yetkilendirmeyi belirli bir URL için, tüm site için veya tüm siteler için yapılandırmak mümkündür. Ancak yapılması gereken ilk şey, kullanıcı ve parola listesini içeren bir dosya oluşturmaktır. Bu amaçla htpasswd yardımcı programını kullanacağız. Komutun sözdizimi aşağıdaki gibidir:
$ sudo htpasswd -c /path/to/file username
Bu durumda, -c seçeneği yeni bir dosya oluşturmak için kullanılır, daha önce oluşturulmuş dosyaları düzenlemek için kullanmanıza gerek yoktur. Örneğin:
$ sudo htpasswd -c /etc/nginx/auth.basic admin
Program çift parola isteği yapacaktır. Güvenlik amacıyla, parola görüntülenmez, ancak girilir. Böyle bir dosya oluşturduktan sonra, doğrudan Nginx yapılandırmasına gidebilirsiniz.
Tüm kaynakları parola ile korumak için /etc/nginx/nginx.conf
dosyasının http
bölümüne bir yönerge eklemeniz gerekir:
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
Belirli bir sayfa adresini (URL) korumak için ilgili konum bloğuna bir yönerge eklemeniz gerekir. Bu /wp-admin/admin-ajax.php
olabilir:
location /wp-admin/admin-ajax.php {
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
}
Site WordPress üzerindeyse, konumu location/
içine yerleştirmek en iyisidir. Yukarıda açıklanan tüm kurallar çalışacak, ayrıca koruma sağlanacaktır. Belirli bir konum
için erişime izin vermeniz gerekiyorsa, yönerge auth_basic "off"
gibi görünecektir:
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;
}
PHP işleminin konum
bloğuna eklenmesi gerekecektir, aksi takdirde kullanıcıdan erişmekte olduğu betiği indirmesi istenecektir.
Böylece, Nginx'te erişimi ayarlamak çok zor değildir. Sadece konum bloğunu doğru şekilde yapılandırmanız gerekir.