Nginx şu amaçlarla kullanılan ücretsiz, açık kaynaklı bir web sunucusudur: yük dengeleme, arabelleğe alma ve önbelleğe alma. 2004 yılındaki başlangıcından bu yana Nginx, web sunucularını ölçeklendirmek ve ters proxy işlemleri için popülerlik kazanmıştır. Yüksek performansı ve çok sayıda bağlantıyı yönetme konusundaki mükemmel yetenekleri nedeniyle, gelen trafiği yönetmek ve kontrol etmek için kullanılır.
HTTP Kimlik Doğrulaması Nasıl Çalışır?
In temel HTTP kimlik doğrulamasında, sunucudaki tüm rotalar engellenir ve kimlik doğrulaması için uygun kimlik bilgilerini gerektirir. Bir kullanıcı güvenli bir kaynağa erişmeye çalıştığında, sunucu kullanıcıya bir WWW-Authenticate üstbilgisi ve bir 401 Unauthorized yanıtı gönderir. Kullanıcı tarafından kullanılan kullanıcı adı ve şifre doğruysa ve anahtar dosyası ile eşleşiyorsa bağlantı kurulur, aksi takdirde reddedilir.
Bu eğitimde, size şu adımlarda yol göstereceğiz: Ubuntu 20.04 üzerinde Nginx ile temel HTTP kimlik doğrulaması kurulumu.
Önkoşullar
Bu eğitimi takip etmek için aşağıdakilere ihtiyacınız olacak:
- Sisteminizde en son Ubuntu sürümünün kurulu olması.
- Sistem kullanıcılarının sudo yetkilerine sahip olması gerekir..
- Sunucunuzda Nginx'in kurulu ve yapılandırılmış olması gerekir.
Adım 1: Yazılım Depolarını Güncelleyin
Sisteminize herhangi bir yeni yazılım veya API paketi yüklemeden önce, hataları veya paket çakışmalarını önlemek için depoları yenileyin. Başlangıçta, yazılımı şu komutu kullanarak güncelleyeceğiz: sudo komutu:
|
1 |
sudo apt-get update |
Yazılım depolarını güncellediğimize göre, şimdi gerekli apache2 paketlerini kuralım.
Adım 2: Gerekli Paketleri Kurun
Bir dizin için HTTP Kimlik Doğrulaması kurduğumuz için, şifrelenmiş bir şifre oluşturmak üzere htpasswd komutunu kullanacağız. Aşağıdaki komutu kullanarak apache2-utils paketini kurun:
|
1 |
sudo apt-get install apache2-utils |
Adım 3: Kullanıcı ve Şifre Oluşturun
Bu adımda, temel HTTP Kimlik Doğrulama kimlik bilgilerini ayarlayacağız. Kök dizin altında, kullanıcıyla ilişkili bir .htpasswd dosyası oluşturun. Şifre şifrelenecektir ve dosya adı istediğiniz herhangi bir şey olabilir. Dosyayı oluşturmak ve kullanıcıyı şifrelenmiş bir şifreyle eklemek için aşağıdaki komutu kullanın:
|
1 |
sudo htpasswd -c /etc/nginx/.htpasswd cloudsigma |

Ardından, aşağıdaki komutu kullanarak yeni oluşturulan dosyayı doğrulayın:
|
1 |
cat /etc/nginx/.htpasswd |
Adım 4: Nginx Yapılandırmasını Güncelleyin
HTTP temel kimlik doğrulama kimlik bilgilerimizi aldıktan sonra, Nginx'i kuralım ve hedef web sitemizde kullanalım. HTTP temel kimlik doğrulamasını kurmak için auth_basic ve auth_basic_user_file yönergelerine ihtiyacımız var. auth_basic yönergesinin değeri bir dize biçimiyken, auth_basic_user_file yönergesinin değeri ise şu adımda oluşturulan şifre dosyasının yoludur: Adım 3.
İki yönergeyi hedef web sitesinin yapılandırma dosyasına dahil etmek önemlidir. Hedeflenen web sitesinin konumunu şu dizinde bulabilirsiniz: /etc/nginx/sites-available dizini. Yapılandırma dosyasını nano düzenleyiciyi kullanarak açın:
|
1 |
sudo nano /etc/nginx/sites-available/default |
Ardından, bu yönergelerin her ikisini de şu bölümün altına ekleyin: location bölümü:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
. . . server_name localhost; location / { # İlk olarak isteği dosya olarak sunmayı dene, ardından # dizin olarak, ardından 404 göstermeye geri dön. try_files $uri $uri/ =404; # Bu konumda naxsi'yi etkinleştirmek için yorum satırını kaldırın # include /etc/nginx/naxsi.rules auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; } . . . |
Yönergeyi ekledikten sonra yapılandırma dosyasını kaydedip kapatın.
Adım 5: Nginx'i Yeniden Başlatın
Ardından, sanal ana makinemizdeki değişiklikleri uygulamak için Nginx hizmetlerini yeniden yükleyin veya yeniden başlatın. Bundan sonra, temel HTTP kimlik doğrulamamızı kullanarak güvenli alana erişmeyi deneyeceğiz. Nginx hizmetlerini etkinleştirmek için aşağıdaki komutu kullanın:
|
1 |
sudo service nginx reload |
Adım 6: Güvenli Web Erişimi
Nginx'i yeniden başlattıktan sonra, bir sonraki adım favori tarayıcınızda IP adresine veya alan adına erişmeyi denemektir. IP adresine tıkladığınızda http://your_domain_name/ tarayıcınızda, kimlik doğrulaması yapmak için kimlik bilgilerini girmenizi isteyen bir istem açılacaktır. Doğru kullanıcı adını ve şifreyi girdiğinizde, varsayılan bir Nginx ana sayfası göreceksiniz.
Sonuç
Bu eğitimde, Nginx ile temel HTTP kimlik doğrulamasını nasıl yapılandıracağımızı öğrendik. Temel kullanıcı adı/şifre kimlik doğrulaması, Nginx'te güvenli bir bağlantı kurmak için sunulan birçok kimlik doğrulama seçeneğinden yalnızca biridir.
Sunucu kimlik doğrulaması için kullanılan başka güçlü seçenekler de vardır. Örneğin, kullanabileceğiniz bazı popüler yöntemler arasında API entegrasyonları, JSON Web Token'ları, SSH anahtarı tabanlı kimlik doğrulamaları yer alır. Güçlü güvenlik mekanizmaları elde etmek başlangıçta zor görünse de, gizliliğinizi korumada son derece etkilidirler.
Ayrıca, Nginx hakkında erişebileceğiniz birçok diğer öğrenme materyali ve eğitim bloglarımızda mevcuttur:
- Nginx Sunucusu ve Konum Bloğu Seçim Algoritmalarına Genel Bakış
- Ubuntu 20.04 üzerinde Nginx ile Laravel Kurulumu ve Yapılandırılması
- Ubuntu 20.04 üzerinde PostgreSQL, Nginx ve Gunicorn ile Django Kurulumu
Keyifli Çalışmalar!

Yorumlar
Henüz yorum yapılmamış. İlk siz olun.