Nginx alan adı (domain name) nasıl yapılandırılır? (server_name direktifi)

Nginx, yüksek performanslı bir web sunucusu ve ters proxy sunucusu olarak yaygın bir şekilde kullanılan bir yazılımdır. Web uygulamalarının nasıl sunulacağını belirlemek için yapılandırma dosyaları üzerinde değişiklikler yapılması gerekmektedir. Bu değişikliklerden biri de `server_name` direktifinin kullanımıdır. `server_name` direktifi, belirli bir alan adını veya alan adlarını işaret etmekte ve Nginx’in hangi isteklere yanıt vereceğini tanımlamaktadır.

`server_name` Direktifinin Kullanımı

`server_name` direktifi, Nginx yapılandırma dosyalarının bir parçası olarak belirtilir. Genellikle, `/etc/nginx/nginx.conf` veya `/etc/nginx/sites-available/default` dosyaları üzerinde yer alır. Bu direktif, Nginx’in hangi alan adları için belirli bir sunucu bloğuna yönelmesi gerektiğini tanımlar. Örneğin, bir web sitesi sadece `www.example.com` alan adı ile erişildiğinde belirli bir yapılandırmayı kullanacak şekilde ayarlanabilir. Ayrıca, birden fazla alan adı için de aynı yapılandırma kullanılabilir.

Temel Yapılandırma Örneği

Nginx üzerinde bir alan adını yapılandırmak için öncelikle bir sunucu bloğu oluşturmak gerekmektedir. Sunucu bloğu, Nginx’in hangi istekler için hangi ayarların geçerli olacağını belirlediği bir alanıdır. Aşağıda basit bir `server_name` kullanım örneği bulunmaktadır:

“`
server {
listen 80;
server_name example.com www.example.com;

location / {
root /var/www/example.com;
index index.html index.htm;
}
}
“`

Yukarıdaki yapılandırmada, `example.com` ve `www.example.com` alan adları için yapılandırma belirlenmiştir. Bu durumda, Nginx isteklere yanıt vermek için 80 numaralı TCP portunu dinlemektedir. Eğer istemci, `example.com` veya `www.example.com` adresine bir istek gönderirse, belirtilen kök dizin (`/var/www/example.com`) kullanılacaktır.

Wildcard Kullanımı

Wildcards, `server_name` direktifinde yer alan alan adları için esneklik sağlar. Örneğin, bir alt alan adını desteklemek için `.example.com` ifadesi kullanılabilir. Bu yapılandırma, `test.example.com` veya `blog.example.com` gibi tüm alt alan adlarına hizmet vermek üzere yapılandırılabilir. Aşağıda gösterilmiştir:

“`
server {
listen 80;
server_name .example.com;

location / {
root /var/www/subdomains;
index index.html index.htm;
}
}
“`

Bu örnekte, tüm alt alan adlarına yönelik istekler `/var/www/subdomains` dizinine yönlendirilmektedir.

HTTPS Desteği ve `server_name`

Alan adlarını HTTPS üzerinden güvenli bir şekilde yapılandırmak için SSL sertifikalarına ihtiyaç vardır. SSL sertifikaları, genellikle `Let’s Encrypt` gibi ücretsiz sağlayıcılar aracılığıyla edinilebilir. SSL yapılandırması içeren bir örnek aşağıda verilmiştir:

“`
server {
listen 443 ssl;
server_name example.com www.example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

location / {
root /var/www/example.com;
index index.html index.htm;
}
}
“`

Bu örnekte, `listen 443 ssl;` ifadesi ile HTTPS dinleme yapılandırılmıştır. `ssl_certificate` ve `ssl_certificate_key` direktifleri ile sertifikalar belirtilmiştir. Böylece, belirtilen alan adları üzerinden güvenli bir bağlantı sağlanmaktadır.

Birden Fazla Alan Adı Yönetimi

Bir Nginx sunucusunda birden fazla alan adı yönetmek isteniyorsa, her bir alan adı için ayrı bir sunucu bloğu oluşturmak gerekmektedir. Bu, alan adlarının farklı uygulamalara veya dizinlere yönlendirilmesine olanak tanır. Aşağıda bu yapıyla ilgili bir örnek bulunmaktadır:

“`
server {
listen 80;
server_name example1.com www.example1.com;

location / {
root /var/www/example1;
index index.html;
}
}

server {
listen 80;
server_name example2.com www.example2.com;

location / {
root /var/www/example2;
index index.html;
}
}
“`

Bu yapılandırmada, her bir alan adı kendine özgü kök dizinlerine yönlendirilmiştir.

Hatalı Yönlendirmelerin Önlenmesi

Nginx yapılandırması yapılırken, `server_name` direktifindeki hatalar isteklerin yanlış yönlendirilmesine neden olabilir. Tüm olası alan adlarının doğru bir şekilde belirtilmesi önemlidir. ayrıca, yanlış alan adı yazımları veya geçersiz karakterler de hata yaratabilmektedir. Yapılandırma dosyası oluşturulurken dikkatli olunması ve uygun testlerin yapılması önerilmektedir.

Sonuç

Nginx üzerinde alan adı yapılandırması, web sunucusunun doğru bir şekilde çalışması açısından kritik öneme sahiptir. `server_name` direktifi, belirli alan adlarını işaret ederek Nginx’in hangi yapılandırmaları kullanacağını belirlemektedir. Doğru yapılandırma ile kullanıcıların web uygulamalarına erişimi sağlanmakta ve istekler doğru dizinlere yönlendirilmektedir. Wildcard kullanımı, HTTPS desteği ve birden fazla alan adı yönetimi gibi özellikler, Nginx’in esnekliğini artırmakta ve web yönetimini kolaylaştırmaktadır. Bu tür yapılandırmaların doğru ve dikkatlice yapılması, web sitesi performansının artırılması ve güvenliğinin sağlanması açısından önem arz etmektedir.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR