Nginx kullanılan bir siteye basit bir şekilde şifre koymak için sitenin nginx ayarlarını düzenlemek gerekiyor.
Aşağıdaki işlemleri Ubuntu 18.10'da yaptım. Diğerlerinde de çalışacaktır.
Öncelikle gerekli olan "apache2-utils" yüklememiz gerekiyor.
apt-get update
apt-get install apache2-utils
Bu işlemden sonra siteye girerken sorulacak olan kullanıcı adı ve şifreyi oluşturmamız gerekiyor.
htpasswd -c /config/nginx/.sifreler user
yazdıktan sonra şifre girmemizi isteyecek. Dizin olarak istediğiniz yeri seçebilirsiniz.
Daha sonra sitenin .conf ayarlarında "location / {" olan kısma aşağıdakileri ekleyin.
auth_basic "Restricted";
auth_basic_user_file /config/nginx/.sifreler;
Örnek olarak;
server {
listen 80;
server_name test.ekremparlak.com;
access_log /var/log/nginx/test.ekremparlak.com.access.log;
error_log /var/log/nginx/test.ekremparlak.com.error.log info;
location / {
root /var/www/test.ekremparlak.com;
auth_basic "Restricted";
auth_basic_user_file /config/nginx/.sifreler;
}
}
Son olarak nginx -s reload
komutuyla ayarları aktif etmiş oluyoruz.
Bundan sonra siteye girerken kullanıcı adı şifre soracak.