From cc40af334e619bb549038238507407866f774f8f Mon Sep 17 00:00:00 2001 From: hongbotian Date: Mon, 30 Nov 2015 01:35:09 -0500 Subject: upload apache JIRA: BOTTLENECK-10 Change-Id: I67eae31de6dc824097dfa56ab454ba36fdd23a2c Signed-off-by: hongbotian --- .../app/apache2/manual/vhosts/details.html.tr.utf8 | 401 +++++++++++++++++++++ 1 file changed, 401 insertions(+) create mode 100644 rubbos/app/apache2/manual/vhosts/details.html.tr.utf8 (limited to 'rubbos/app/apache2/manual/vhosts/details.html.tr.utf8') diff --git a/rubbos/app/apache2/manual/vhosts/details.html.tr.utf8 b/rubbos/app/apache2/manual/vhosts/details.html.tr.utf8 new file mode 100644 index 00000000..0049164b --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/details.html.tr.utf8 @@ -0,0 +1,401 @@ + + + +Sanal Konak Eşlemenin Derinliğine İncelenmesi - Apache HTTP Sunucusu + + + + + +
<-
+

Sanal Konak Eşlemenin Derinliğine İncelenmesi

+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ + +

Sanal konak kodu Apache 1.3 sürümünde baştan yeniden + yazıldı. Bu belgede, bir istek aldığında Apache’nin hangi sanal konak + ile hizmet sunacağına nasıl karar verdiği açıklanmaya çalışılmıştır. + NameVirtualHost yönergesi sayesinde + sanal konak yapılandırması 1.3 sürümünün öncesine göre daha kolay ve + daha güvenilir hale gelmiştir.

+ +

Sanal konakların nasıl çalıştığını öğrenmeden sadece çalıştırmak + isterseniz doğrudan örneklerin bulunduğu + sayfaya bakabilirsiniz.

+ +
+ +
top
+
+

Yapılandırma Dosyasının Çözümlenmesi

+ +

Bu belgede <VirtualHost> bölümleri dışında kalan + tanımlardan bahsederken ana_sunucu, <VirtualHost> bölümlerindeki tanımlamalardan + bahsederken sankonlar diyeceğiz.

+ +

Listen, + ServerName, + ServerPath ve + ServerAlias yönergeleri bir sunucu + yapılandırmasının her yerinde karşımıza çıkabilir. Bununla birlikte, + sunucu dahilinde son göründükleri yerlerde önceki eşdeğerlerini geçersiz + kılarlar.

+ +

Listen yönergesinin ana_sunucu için öntanımlı değeri + 80’dir. ServerPath ve ServerAlias + yönergelerinin ana_sunucu için öntanımlı değerleri yoktur. Öntanımlı + ServerName değeri ise sunucunun IP adresinden elde + edilir.

+ +

Ana_sunucu Listen yönergesinin iki işlevi vardır. Biri + Apache’nin dinleyeceği öntanımlı ağ portunu belirlemek, diğeri ise + yönlendirmeler sırasında mutlak URI’lerde kullanılan port numarasını + belirlemektir.

+ +

Ana_sunucunun aksine sankonların portları Apache‘nin dinleyeceği + portlar üzerinde etkili değildir.

+ +

VirtualHost yönergesinde görünen her adresin seçimlik bir + portu olabilir. Eğer bir port belirtilmemişse öntanımlı olarak + ana_sunucunun son Listen yönergesinin değeri kullanılır. + Port olarak * belirtildiği takdirde bütün portlar dinlenir. + Adreslerin tamamını (DNS sorgularındaki çoklu A kayıtları dahil) içeren + kümeye sankonların adres kümesi denir.

+ +

NameVirtualHost yönergesi ilk + sankonun IP adresi için kullanılmadığı takdirde bu IP adresine sahip ilk + sankon IP’ye dayalı sankon olarak ele alınır. IP adresi olarak + * belirtmek de mümkündür.

+ +

Eğer isme dayalı sankonlar kullanılacaksa NameVirtualHost + yönergesinin bu isme dayalı sankonların IP adresi kümesini içermesi + gerekir. Başka bir deyişle, yapılandırma dosyanızın + NameVirtualHost yönergesine sankonların sunucu isimlerinin + karşı düştüğü IP adresini yazmalısınız.

+ +

Çok sayıda NameVirtualHost yönergesi belirtebilirse de her + IP:port çifti için birden fazla NameVirtualHost yönergesi + belirtilmemelidir.

+ +

Aşağıdaki iki örneğin eşdeğer olması için NameVirtualHost + ve VirtualHost yönergelerinin sıralamasının bir önemi + yoktur. (Sadece tek adreslik küme içindeki + VirtualHost yönergelerinin sırası önemlidir; aşağıya + bakınız:)

+ + + + +

+ NameVirtualHost 111.22.33.44
+ <VirtualHost 111.22.33.44>
+ # sunucu A
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.44>
+ # sunucu B
+ ...
+ </VirtualHost>
+
+ NameVirtualHost 111.22.33.55
+ <VirtualHost 111.22.33.55>
+ # sunucu C
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # sunucu D
+ ...
+ </VirtualHost> +

+ <VirtualHost 111.22.33.44>
+ # sunucu A
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # sunucu C
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.44>
+ # sunucu B
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # sunucu D
+ ...
+ </VirtualHost>
+
+ NameVirtualHost 111.22.33.44
+ NameVirtualHost 111.22.33.55
+
+

+ + +

(Okuma kolaylığı bakımından soldaki sürümü tercih etmenizi öneririz.) +

+ +

VirtualHost yönergesi çözümlendikten sonra sankon + sunucusuna yönergedeki ilk isme atanmış portun öntanımlı olduğu bir + Listen verilir.

+ +

Eğer tüm VirtualHost isimlerinin listesi aynı adres + kümesine çözümleniyorsa bu isimler birer ServerAlias gibi + ele alınırlar (bir ServerAlias yönergesi ile geçersiz + kılınmadıkça). Bir sankon tanımından sonra gelen Listen + satırlarının o sankonun adres kümesine atanmış portlara bir etkisinin + olmayacağına dikkat ediniz.

+ +

İsim listeleri IP adreslerine göre gruplanır ve bir çiftler tablosuna + kaydedilir. Eğer IP adresi bir NameVirtualHost yönergesinde + kullanılmışsa, liste bu IP adresi için tanımlanmış tüm sankonları + içerir. Eğer bu IP adresinin tanımlandığı bir sankon yoksa o + NameVirtualHost yönergesi yoksayılır ve günlüğe bir hata + kaydı düşülür. IP’ye dayalı sankonlar için çiftler listesinde isim + alanları boştur.

+ +

Çiftler listesini işleyen işlevin hızı nedeniyle bir istek sırasında IP + adresine göre gruplama yaparken kaynak harcaması en düşük düzeyde olur + hatta neredeyse hiç olmaz. Ek olarak, tablo, IP adresinin son + sekizlisindeki değişikliklere göre de en iyilenir.

+ +

Her sankon için bazı değerler öntanımlı olarak atanır. Bunların + başlıcaları:

+ +
    +
  1. Sankon bir ServerAdmin + yönergesi içermiyorsa, + Timeout, + KeepAliveTimeout, + KeepAlive, + MaxKeepAliveRequests, + ReceiveBufferSize ve + SendBufferSize yönergeleri için + öntanımlı değerler ana_sunucudaki eşdeğerlerinden miras alınır. (Yani, + bu yönergeler için ana_sunucudaki son değerler miras alınır.)
  2. + +
  3. Sankon için öntanımlı dizin erişim izinlerinin tanımlandığı "arama + öntanımlıları" ana_sunucununkilere katılır. Buna her modülün dizinlere + özgü yapılandırma bilgileri dahildir.
  4. + +
  5. Her modülün ana_sunucudaki sunuculara özgü yapılandırmaları sankon + sunucusununkilerle katıştırılır.
  6. +
+ +

Esasen, ana_sunucu, sankon sunucularını oluştururken bir öntanımlılar + listesi veya öntanımlı değerlere dayanak noktası olarak ele alınır. + Fakat bu ana_sunucu tanımlarının yapılandırma dosyasındaki yerlerinin + saptanmasının konumuzla ilgisi yoktur; ana_sunucu yapılandırmasının + tamamı son katıştırma yapılacağı zaman çözümlenir. Bu bakımdan, + ana_sunucu tanımlarından bir kısmı sankon tanımlarından sonra yer alsa + bile sankon tanımlarında etkili olabilir.

+ +

Eğer, bu noktada ana_sunucu hiçbir ServerName satırı + içermiyorsa httpd programının çalıştığı makinenin + konak ismi öntanımlıdır. Ana_sunucunun ServerName için + yaptığı DNS sorgusundan dönen IP adreslerine ana_sunucu adres + kümesi diyoruz.

+ +

Tanımsız ServerName alanları için bir isme dayalı sankon, sankonu tanımlayan VirtualHost yönergesinde belirtilen ilk adresi öntanımlı değer kabul eder.

+ +

Sihirli _default_ sankonları için ana_sunucunun ServerName değeri kullanılır.

+ +
top
+
+

Sanal Konağın Belirlenmesi

+ +

Sunucu bir istek durumunda hangi sankonun kullanılacağını şöyle + belirler:

+ +

Değer çiftleri tablosu aranır

+ +

Bir istemci tarafından bağlantı ilk yapıldığında önce IP-isim çiftleri + tablosunda istemcinin bağlandığı IP adresi için bir arama yapılır.

+ +

Arama başarısız olursa (IP adresi yoksa) hizmet, istekte belirtilen + port için bir _default_ sankon varsa, o sankondan, yoksa + ana_sunucudan sunulur.

+ +

Eğer çiftler tablosunda IP adresi yoksa port numarası ile eşleştirme + çabası ayrıca, diğer isme dayalı sanal konaklardaki gibi ard arda ele + alınmayı gerektiren NameVirtualHost * durumundaki bir + girdiyle sonuçlanabilir.

+ +

Arama sonucunda tabloda IP adresi bulunursa sonraki adım hizmetin bir + IP’ye dayalı sankondan mı yoksa isme dayalı bir sankondan mı + sunulacağına karar vermektir.

+ + + +

IP’ye dayalı sankon

+ +

Eğer tabloda bulduğumuz girdinin isim alanları boşsa bir IP’ye dayalı + sanal konak bulmuşuz demektir. Artık karar vermek için başka bir şey + yapmaya gerek yoktur ve istek bu sankondan sunulur.

+ + + +

İsme dayalı sankon

+ +

Tabloda bulduğumuz girdi için bir isim listesi varsa bir isme dayalı + sankon sözkonusudur. Bu isim listesi, sankonları, ilgili + VirtualHost bölümlerinin yapılandırma dosyasında yer alış + sırasına göre içerir.

+ +

Bu listedeki ilk sankon (yapılandırma dosyasında belirtilen IP adresine + sahip ilk sankon) en yüksek önceliğe sahiptir ve sunucu ismi + belirtilmeyen veya Host: başlık alanı olmayan istekleri bu + sankon karşılar.

+ +

Eğer istemci bir Host: başlık alanı ile istek yapmışsa + liste bu sankon için aranır ve hizmet ServerName veya + ServerAlias ile ilk eşleşmenin sağlandığı sankondan + sunulur. Host: alanında bir port belirtilebilirse de Apache + daima istemcinin isteği gönderdiği portu gerçek port kabul eder.

+ +

Eğer istemci Host: başlık alanı bulunmayan bir HTTP/1.0 + isteği yapmışsa istemcinin hangi sankona bağlanmayı denediğini bilemeyiz + ve istekteki URI ile mevcut ServerPath değerini + eşleştirmeye çalışırız. Listedekilerden ilk eşleşen yola sahip sankondan + hizmeti sunarız.

+ +

İstekle eşleşen bir sankon bulunamazsa IP listesinde istemcinin + bağlandığı portla eşleşen ilk sankondan hizmeti sunarız.

+ + + +

Kalıcı bağlantılar

+ +

Yukarıda açıklanan IP araması belli bir TCP/IP oturumunda bir defaya + mahsus yapıldığı halde bir kalıcı/KeepAlive bağlantı sırasında her istek + için ayrı bir arama yapılır. Başka bir deyişle, bir istemci tek bir + kalıcı bağlantı üzerinde farklı isme dayalı sankonlardan sayfa talebinde + bulunabilir.

+ + + +

Mutlak URI

+ +

Eğer istekte belirtilen URI bir mutlak URI ise ve istek yapılan konak + ismi ve port ana sunucuyla veya sankonlardan biriyle eşleşiyorsa, + şema/konakadı/port öneki ayrılır ve elde edilen göreli URI ilgili + sankondan veya ana sunucudan sunulur. Eğer bir eşleşme sağlanamazsa + URI’ye dokunulmaz ve istek bir vekil isteği olarak ele alınır.

+ + +

İzlenimler

+ +
    +
  • Bir isme dayalı sankon asla bir IP’ye dayalı sankon ile (veya tersi) + etkileşime girmez. IP’ye dayalı sankonlara sadece kendi adres + kümesindeki bir IP adresi üzerinden erişilebilir, asla başka bir + adresten erişilemez. Aynısı isme dayalı sankonlara da uygulanır; + onlara sadece bir NameVirtualHost yönergesi ile + tanımlanmış adres kümesindeki bir IP adresi üzerinden + erişilebilir.
  • + +
  • Bir IP’ye dayalı sankon için asla ServerAlias ve + ServerPath değerine bakılmaz.
  • + +
  • Yapılandırma dosyası içinde isme/IP’ye dayalı ve + _default_ sankonlar ile NameVirtualHost + yönergelerinin yer alış sırasının birbirlerine göre bir önemi yoktur. + Sıralama sadece aynı IP adresine sahip isme dayalı sankonlar arasında + önemlidir. Aynı adres kümesine mensup isme dayalı sankonlardan + yapılandırma dosyasında ilk sırada yer alanı en yüksek önceliğe + sahiptir.
  • + +
  • Güvenlik saikiyle, eşleştirme işlemi sırasında Host: + başlık alanında belirtilen port asla kullanılmaz. Apache daima + istemcinin bağlantı kurduğu gerçek portu kullanır.
  • + +
  • Değeri başka bir ServerPath yönergesinin değeri için + önek olan bir ServerPath yönergesi yapılandırma + dosyasında daha önce yer alıyorsa sonrakiyle eşleşme asla + gerçekleşmez. (Bu belirsizliği giderecek bir Host: başlık + alanının mümkün olmadığı varsayılır.)
  • + +
  • Eğer tek bir IP adresine sahip IP’ye dayalı iki sankon varsa eşleşme + daima yapılandırma dosyasında ilk yer alanla gerçekleşir. Böyle bir + şey kasten yapılmaz. Sunucu böyle bir durumu saptadığında hata + günlüğünde bir uyarı verecektir.
  • + +
  • Bir _default_ sankon sadece istekle eşleşen bir IP + adresi bulunamadığında port numarası eşleştiği takdirde isteğe hizmet + sunabilir. Port düzeyinde eşleşmenin olabilmesi için isteğin geldiği + port ile sankon için belirtilen port eşleşmelidir. Olası tüm portlarla + eşleşmeyi sağlamak üzere yıldız imi (_default_:* + şeklinde) kullanılabilir. Aynı şey NameVirtualHost * + sankonlarına da uygulanır.
  • + +
  • Ana_sunucunun bir isteğe hizmet sunabilmesi için istemcinin + bağlandığı IP adresi ve port hiçbir yerde belirtilmemiş ve + _default_ dahil hiçbir sankon ile eşleşme sağlanamamış + olmalıdır. Başka bir deyişle, istemcinin bağlandığı port ile eşleşen + bir _default_ sankon olmadıkça adres ve port belirtmeyen + bir isteğe ana_sunucu yanıt verecektir.
  • + +
  • Host: başlık alanı içermeyen veya hedefi bilinmeyen bir + istek geldiği takdirde, eğer bu istemcinin bağlandığı adres ve port + için (örneğin, NameVirtualHost ile) tanımlanmış bir isme + dayalı sankon varsa bu isteğe ne ana_sunucu ne de bir + _default_ sankon hizmet sunabilir.
  • + +
  • VirtualHost yönergelerinde asla DNS isimleri + belirtmemelisiniz. Aksi takdirde sunucuyu başlatma sırasında DNS + sorgusu yapmaya zorlamış olursunuz. Listelenen tüm alanlar için DNS + üzerinde tam denetime sahip değilseniz bu ayrıca bir güvenlik + tehdidine yol açar. Bu konuda daha ayrıntılı bilgi edinmek için DNS ile ilgili konular ve Apache + belgesine bakınız.
  • + +
  • ServerName her sankon için ayrı ayrı belirlenmiş + olmalıdır. Aksi takdirde her sankon için bir DNS sorgusu gerekir.
  • +
+ + +
top
+
+

İpuçları

+ +

DNS konuları sayfasındaki + ipuçlarına ilaveten burada da bazı ipuçları bulacaksınız:

+ +
    +
  • Ana_sunucu tanımlarının hepsini VirtualHost + tanımlarının öncesinde bitirin. Bu ayrıca yapılandırmanızın + okunabilirliğini de arttırır; VirtualHost tanımlarının + sonrasına sarkan yapılandırmaların katıştırılması işlemi tüm sanal + konakları etkileyebilen tanımlar bakımından bir + karışıklığa/belirsizliğe sebep olabilir.)
  • + +
  • Birbirleriyle ilgili NameVirtualHost ve + VirtualHost tanımlarını okunabilirliği arttırmak için + gruplayın.
  • + +
  • Değeri başka bir ServerPath için önek olan tanımlamalar + yapmaktan kaçının. Bundan kaçınamıyorsanız, yolu uzun olanı yolu kısa + olanın öncesine yerleştirin. Örneğin, "ServerPath /abc/def" önce + "ServerPath /abc" sonra yer alsın.
  • +
+ +
+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ \ No newline at end of file -- cgit 1.2.3-korg