Temel Kimlik Doğrulama ve Erişim Denetimi
Nginx kaynaklarını korumak için temel HTTP kimlik doğrulamasını ve IP tabanlı erişim denetimini ayarlayın.
Temel Kimlik Doğrulama ve Erişim Denetimi, CoddyKit'te ücretsiz bir API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Protecting Nginx Resources
When Nginx serves content or acts as a proxy, it's crucial to control who can access your resources. This helps prevent unauthorized access and keeps your applications secure.
In this lesson, we'll explore two fundamental ways to secure Nginx: Basic HTTP Authentication and IP-based Access Control.
Basic HTTP Authentication
Basic HTTP Authentication is a simple way to protect web resources using a username and password. When a user tries to access a protected resource, their browser will prompt them to enter credentials.
- The browser sends credentials with each request.
- Nginx verifies these against a stored file.
- It's straightforward but sends credentials as base64 encoded text (not encrypted), so always use it with HTTPS!
Creating a Password File
To use basic authentication, Nginx needs a file containing usernames and encrypted passwords. We use the htpasswd utility, which is typically part of the Apache utilities package.
Here's how to create or add users to a password file:
sudo apt install apache2-utils # On Debian/Ubuntu
sudo yum install httpd-tools # On CentOS/RHEL
sudo htpasswd -c /etc/nginx/.htpasswd coddyuser
# -c creates the file if it doesn't exist
# You'll be prompted to enter and confirm passwordNginx Basic Auth Configuration
Once you have your password file, you can configure Nginx to use it. You'll use two main directives:
auth_basic: Sets the realm (a message shown in the login prompt).auth_basic_user_file: Specifies the path to your password file.
These directives can be placed in http, server, or location blocks.
Example: Basic Auth with Nginx
This Nginx configuration snippet protects the /admin path, requiring users to authenticate with credentials from the .htpasswd file.
http {
# ... other http settings
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
location /admin {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
root /var/www/admin;
index index.html;
}
}
}IP-based Access Control
Another way to secure resources is by controlling access based on the client's IP address. Nginx uses the allow and deny directives for this.
allow IP_ADDRESS | CIDR | all: Permits access from specified IPs.deny IP_ADDRESS | CIDR | all: Denies access from specified IPs.
These directives are processed in order within a block. The first matching rule applies.
Configuring IP Access Rules
You can specify single IP addresses, IP ranges using CIDR notation (e.g., 192.168.1.0/24), or all to refer to all IPs. Remember, the order matters!
For example, to allow a specific IP and deny all others, you'd list allow first, then deny all.
Example: IP Access with Nginx
This configuration allows access to /private only from 192.168.1.100 and any IP within the 10.0.0.0/8 network, denying everyone else.
http {
# ... other http settings
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
location /private {
allow 192.168.1.100;
allow 10.0.0.0/8;
deny all;
root /var/www/private;
index index.html;
}
}
}Combining Access Controls
You can combine both basic authentication and IP-based access control for enhanced security. Nginx processes these rules sequentially.
- First, IP-based rules are evaluated.
- If access is allowed by IP, then basic authentication is checked.
This means a request must satisfy both sets of rules to gain access.
Quick Check: Nginx Security
Consider the following Nginx configuration snippet. A user with IP 192.168.1.50 tries to access example.com/sensitive. The .htpasswd file contains a valid entry for 'admin'.
What will happen?
location /sensitive {
deny 192.168.1.0/24;
allow 192.168.1.50;
deny all;
auth_basic "Secure Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}Recap: Nginx Access Control
In this lesson, you learned how to protect your Nginx resources using two key methods:
- Basic HTTP Authentication: Uses username/password stored in an
.htpasswdfile, configured withauth_basicandauth_basic_user_file. Best used with HTTPS. - IP-based Access Control: Filters requests based on IP addresses using the
allowanddenydirectives. Order of these rules is crucial.
These methods provide foundational security for your Nginx server and the applications it serves.
Sıkça Sorulan Sorular
“Temel Kimlik Doğrulama ve Erişim Denetimi” dersi ücretsiz mi?
Evet — “Temel Kimlik Doğrulama ve Erişim Denetimi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) kursu toplamda 4 dersten oluşur.
“Temel Kimlik Doğrulama ve Erişim Denetimi” dersinde ne öğreneceğim?
Nginx kaynaklarını korumak için temel HTTP kimlik doğrulamasını ve IP tabanlı erişim denetimini ayarlayın. API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway), başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Temel Kimlik Doğrulama ve Erişim Denetimi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) dersinde kod yazıp çalıştırabilir miyim?
Evet. Her API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Nginx'i SSL/TLS ile Güvenli Hale Getirme
- HTTP/2 ve Nginx Optimizasyonu
- Temel Kimlik Doğrulama ve Erişim Denetimi
- Güvenlik Üstbilgileriyle Nginx’i Güçlendirme