<-
Apache > HTTP Sunucusu > Belgeleme > Sanal Konaklar

İsme Dayalı Sanal Konaklar 136c6d

Mevcut Diller:  tr 

Bu belgede isme dayalı sanal konakların ne zaman, nasıl kullanılacakları açıklanmıştır.

 Apache!

Ayrıca bakınız: 57581q

top

İsme dayalı ve IP’ye dayalı Sanal Konaklar f3e2b

IP’ye dayalı sanal konaklarda sunulacak sanal konağı doğru tespit edebilmek için bağlantının yapıldığı IP adresine bakılır. Bu bakımdan her konak için ayrı bir IP adresine gereksinim vardır.

İsme dayalı sanal konaklarda ise sunucu, istemcinin HTTP başlığının bir parçası olarak gönderdiği konak adını kullanır. Bu teknikte aynı IP adresini çok sayıda farklı konak kullanabilir.

İsme dayalı sanal barındırma nispeten daha kolaydır, çünkü her konak ismini doğru IP adresiyle eşlemek için DNS sunucunuzu yapılandırdıktan sonra Apache HTTP sunucusunu farklı konak isimlerini tanıyacak şekilde yapılandırmanız yeterli olur. İsme dayalı sanal barındırma ayrıca zaten kıt olan IP adreslerine talebi de azaltır. Bu nedenle, IP’ye dayalı sanal konakları kullanmanızı gerektiren donanım kullanmadıkça isme dayalı sanal konaklar kullanmalısınız. İstemci uyumuna bağlı IP’ye dayalı sanal barındırma için eskiden varolan sebepler genel amaçlı bir HTTP sunucusu için artık uygulanabilir değildir.

İsme dayalı sanal barındırma, IP'ye dayalı sanal barındırma seçim algoritmasını kullanmaz, yani uygun sunucu ismini arama işlemi sadece en iyi IP'ye dayalı adrese sahip sanal konaklar arasında gerçekleşir.

top

Sunucu isme dayalı sanal konaklardan uygun olanını nasıl seçer 56594w

İsme dayalı sanal konak çözümlemesinin ilk adımının IP'ye dayalı çözümleme olduğunun anlaşılması çok önemlidir. İsme dayalı sanal konak çözümlemesi en uygun isme dayalı sanal konağı seçerken önce en iyi IP'ye dayalı eşleşme adaylarının sayısını azaltır, sonra bunlar arasından en uygununu seçer. Tüm VirtualHost yönergelerinde IP adresi yerine joker kullanımı bu IP'ye dayalı eşlemeyi yersiz kılar.

Bir istek geldiğinde, sunucu, istekte kullanılan IP adresi ve portu ile en iyi eşleşen ServerAlias yönergelerindeki isimlerle karşılaştırır.

Herhangi bir isme dayalı sanal konakta ServerName yönergesini kullanmazsanız, sunucu bu yönergeye sistem konak adından türetilmiş tam nitelenmiş alan adının (FQDN) tanımlandığını varsayacaktır. Bu örtük atama sezgiselliğin istenmediği bir sanal konak eşleşmesi ile sonuçlanabilir ve bu önerilmez.

Bir IP adresi ve port çifti için öntanımlı isme dayalı sankon 32ag

ServerAlias yönergelerinde bir eşleşme bulunamazsa, Apache httpd bu çift ile eşleşen sanal konaklar listesindeki ilk sanal konağı kullanır.

top

İsme Dayalı Sanal Konakların Kullanımı 5k455k

İlk adım sunacağınız her konak için ayrı bir DocumentRoot yönergesine ihtiyacınız olacaktır.

Ana konağı unutmayın 5b3i36

Mevcut <VirtualHost> yönergelerinin hiçbiriyle eşleşmeyen bir istek için, sunucu veya konak ismine bakılmaksızın genel sunucu yapılandırmanız kullanılır.

Mevcut sitenize isme dayalı bir sanal konak eklerseniz ve bu sanal konak ana sunucunun IP adresi ve portuna sahipse, ana sunucuya yapılan istekler için bu sanal konak kullanılır. Bu bakımdan, öntanımlı sanal konak oluşturmak akıllıca olacaktır. Aynı arayüz ve portu kullanan fakat farklı yapılandırmalara sahip diğer alan isimlerinin sanal konakları (yani öntanımlı olmayanlar) bu öntanımlı sanal konağın sonrasına yerleştirilmelidir.

ServerName miras alma 5f5448

İsme dayalı her sanal konak için daima bir ServerName belirtmek en iyisidir.

Eğer bir ServerName belirtmek en iyisidir.

Örnek olarak, site1.example.com adresinden sitenizi sunmakta olduğunuzu ve bunun yanına aynı IP adresini kullanan site2.example.com sanal konağını eklemek istediğinizi varsayalım. Bunun için apache2.conf dosyanıza basitçe şu satırları ekleyebilirsiniz:

<VirtualHost *:80>
    #İlk sanal konak aynı zamanda *:80 için de öntanımlıdır.
    ServerName site1.example.com
    ServerAlias example.com
    DocumentRoot "/siteler/site1"
</VirtualHost>

<VirtualHost *:80>
    ServerName site2.example.com
    DocumentRoot "/siteler/site2"
</VirtualHost>

İsterseniz, <VirtualHost> yönergesinde argüman olarak * yerine doğrudan bir IP adresi belirtebilirsiniz. Hatta, daha sonra, isme dayalı sanal konakları bir IP adresinden ve IP’ye dayalı olanları veya isme dayalı diğer bir sanal konak grubunu diğer IP adreslerinden sunmak isteyebilirsiniz.

Çoğu sunucunun birden fazla isim ile erişilebilir olması istenir. Bu, ServerAlias yönergesi yerleştirmek suretiyle mümkün olur. Örneğin yukarıdaki örnekte, kullanıcıların aynı siteye farklı isimlerle erişmelerini mümkün kılmak için bölüm içine şu satırı ekleyebilirsiniz:

ServerAlias example.com *.example.com

Böylece example.com alanındaki tüm konaklar için gelen isteklere www.example.com sanal konağından hizmet sunulmuş olur. Konak isimleriyle eşleşmek üzere dosya ismi kalıp karakterleri * ve ? kullanılabilir. Şüphesiz bu isimleri sırf ServerName veya ServerAlias yönergesinde belirtmiş olmakla bu isimleri erişilebilir kılamazsınız. Öncelikle, bu isimleri sunucunuzdaki IP adresleriyle eşlemek üzere yapılandıracağınız bir DNS sunucunuz olmalıdır.

İsme dayalı sanal konaklardan en iyi eşleşme kümesinde olanlar yapılandırmada göründükleri sıraya göre işleme sokulur. Joker kullanımları arasında fark gözetilmeksizin ServerAlias yönergesi eşleşen ilk sanal konak kullanılır.

VirtualHost içindeki isimlerin sırası (jokersiz) bir ServerAlias gibi ele alınır (fakat hiçbir ServerAlias yönergesi ile geçersiz kılınmaz).

Son olarak, sanal konak yapılandırmanıza, <VirtualHost> bölümleri dışındaki) yapılandırma yönergelerinden sadece sanal konak bölümlerinde geçersiz kılınmamış olanlar kullanılacaktır.

Mevcut Diller:  tr 

top

Yorumlar 3y13v

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our s if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.