Bu belgede isme dayalı sanal konakların ne zaman, nasıl kullanılacakları açıklanmıştır.
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ı gerektirecek çok özel bir sebep olmadıkça isme dayalı sanal konaklar kullanmalısınız. IP’ye dayalı sanal konakların kullanımını gerektirebilecek bazı durumlar:
İsme dayalı sanal konakları kullanmak için, bu konaklar için istekleri
kabul edecek sunucuya IP adresini (ve muhtemelen portu da)
belirtmelisiniz. Bu işlem *
belirtebilirsiniz. Çok sayıda
port kullanmayı planlıyorsanız (SSL çalıştırmak gibi), argümana
*:80
şeklinde port ekleyebilirsiniz. Yalnız,
Sonraki adım sunacağınız her konak için ayrı bir
Mevcut sitenize sanal konaklar eklerseniz, mevcut siteniz için de bir
Örnek olarak, www.biralan.tld
adresinden sitenizi sunmakta
olduğunuzu ve bunun yanına aynı IP adresini kullanan
www.digeralan.tld
sanal konağını eklemek istediğinizi
varsayalım. Bunun için httpd.conf
dosyanıza basitçe şu
satırları ekleyebilirsiniz:
İsterseniz, *
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,
Böylece biralan.tld
alanındaki tüm konaklar için gelen
isteklere www.biralan.tld
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
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.
Son olarak, sanal konak yapılandırmanıza,
Sunucuya bir istek geldiğinde, sunucu önce IP adresiyle eşleşmesi olası
ServerAlias
yönergesi bulmaya
çalışır. Bir tane bulduğunda, sunucu için onun yapılandırmasını kullanır.
İsimle eşleşen bir sanal konak bulamazsa IP adresiyle eşleşen ilk
sanal konağın yapılandırmasını kullanır.
Bir önkabul olarak yapılandırma dosyasında rastlanan ilk sanal konak
öntanımlı sanal konaktır. IP adresi bir sanal konakla eşleştiği
takdirde ana sunucunun
Evvelce de bahsedildiği gibi, isme dayalı sanal konakların gerektiği gibi çalışması için gerekli veriyi göndermeyen bazı istemciler vardır. Bu istemcilere daima o IP adresinin yapılandırma dosyasındaki ilk sanal konağının (isme dayalı başat sanal konak) sayfaları gönderilir.
Lütfen dikkat edin, eski deyince gerçekten de antika demek istiyoruz.
Günümüzde bu tür tarayıcılara rastlamanız neredeyse imkansızdır. Günümüz
tarayıcılarının hepsi isme dayalı sanal konakların gerektirdiği
Host
başlığını gönderirler.
Olayı fazla germeden
Örnek yapılandırma:
Bu ne anlama geliyor? Anlamı, "/biralan
" ile başlayan her
URI isteği www.biralan.tld
sanal konağı tarafından sunulacak,
demektir. Yani, tüm istemcilerin
http://www.biralan.tld/biralan/
olarak eriştiği yere
Host:
başlığı gönderen istemciler
http://www.biralan.tld/
olarak erişirler.
Bunu gerçekleştirebilmek için başat sanal konağın baş sayfasına
http://www.biralan.tld/biralan/
için bir bağ koyduktan sonra
sanal konağın sayfalarında ya tamamen göreli bağlar
("dosya.html
", "../simgeler/resim.png
" gibi)
veya /biralan/
ile öncelenmiş bağlar
("http://www.biralan.tld/biralan/muht/dosya.html
" veya
"/biralan/muht/dosya.html
" gibi) kullanın.
Bu işlem biraz disiplin gerektirse de bu yazılanlara sıkı sıkıya bağlı kalarak hem eski hem de yeni tarayıcıların sayfalarınızı doğru görüntülemesini sağlamış olursunuz.