1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!-- 4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8<title>Sanal Konak Eşlemenin Derinliğine İncelenmesi - Apache HTTP Sunucusu</title> 9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" /> 12<script src="/style/scripts/prettify.min.js" type="text/javascript"> 13</script> 14 15<link href="/images/favicon.ico" rel="shortcut icon" /></head> 16<body id="manual-page"><div id="page-header"> 17<p class="menu"><a href="/mod/">Modüller</a> | <a href="/mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="/glossary.html">Terimler</a> | <a href="/sitemap.html">Site Haritası</a></p> 18<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> 19<img alt="" src="/images/feather.gif" /></div> 20<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Sanal Konak Eşlemenin Derinliğine İncelenmesi</h1> 23<div class="toplang"> 24<p><span>Mevcut Diller: </span><a href="/en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> | 25<a href="/fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 26<a href="/ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 27<a href="/tr/vhosts/details.html" title="Türkçe"> tr </a></p> 28</div> 29 30 31 <p>Bu belgede, bir istek aldığında Apache’nin hangi sanal konak 32 ile hizmet sunacağına nasıl karar verdiği açıklanmaya çalışılmıştır.</p> 33 34 <p>Çoğu kullanıcı hangi türü kullanacağına karar vermek için önce <a href="name-based.html#namevip">İsme dayalı ve IP’ye dayalı Sanal 35 Konak</a> bölümünü, sonra <a href="name-based.html">İsme Dayalı Sanal 36 Konak Desteği</a> veya <a href="ip-based.html">IP’ye Dayalı Sanal Konak 37 Desteği</a> belgesini okumalı ve <a href="examples.html">bazı 38 örneklere</a> göz atmalıdır.</p> 39 40 <p>Bunlardan sonra tüm ayrıntıları anlamak isterseniz tekrar bu sayfaya 41 gelebilirsiniz.</p> 42 43</div> 44<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#configparsing">Yapılandırma Dosyası</a></li> 45<li><img alt="" src="/images/down.gif" /> <a href="#hostmatching">Sanal Konağın Belirlenmesi</a></li> 46<li><img alt="" src="/images/down.gif" /> <a href="#tips">İpuçları</a></li> 47</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="ip-based.html">IP’ye Dayalı Sanal Konak Desteği</a></li><li><a href="name-based.html">İsme Dayalı Sanal Konak Desteği</a></li><li><a href="examples.html">Çok Kullanılan Sanal Konak Örnekleri</a></li><li><a href="mass.html">Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma</a></li></ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div> 48<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 49<div class="section"> 50<h2><a name="configparsing" id="configparsing">Yapılandırma Dosyası</a></h2> 51 52 <p>Bu belgede <code><VirtualHost></code> bölümleri dışında kalan 53 tanımlardan bahsederken <em>ana_sunucu</em> diyeceğiz.</p> 54 55 <p><code class="directive"><a href="/mod/core.html#virtualhost"><VirtualHost></a></code> 56 bölümlerindeki tanımlamalardan bahsederken <em>sankonlar</em> 57 diyeceğiz.</p> 58 59 <p>Her <code>VirtualHost</code> bölümü en az bir adres ve isteğe bağlı 60 portlar içerir.</p> 61 62 <p>Sanal konak tanımlarının içindeki IP adreslerinin yerine konak isimleri 63 kullanılabilir, fakat bunlar başlatma sırasında çözümleneceklerinden 64 çözümlemedeki bir başarısızlık bu sanal konak tanımlarının yoksayılması 65 ile sonuçlanacaktır. Bu bakımdan önerilmez.</p> 66 67 <p><code>VirtualHost</code> yönergesinde görünen her adresin seçimlik bir 68 portu olabilir. Eğer bir port belirtilmemişse, port olarak <code>*</code> 69 belirtilmiş gibi bütün portlar dinlenir.</p> 70 71 <p>(<code>VirtualHost</code> yönergesinde belirtilen port numaraları Apache 72 httpd'nin dinleyeceği port numaraları olarak yorumlanmaz, sadece bir 73 isteği işleme sokarken hangi <code>VirtualHost</code> bölümünün 74 seçileceğini belirlerler. Sunucunun dinleyeceği adresleri ve portları 75 belirtmek için <code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code> 76 yönergesini kullanın.)</p> 77 78 <p>Adreslerin tamamını (DNS sorgularındaki çoklu sonuçlar dahil) içeren 79 kümeye <em>sankonların adres kümesi</em> denir.</p> 80 81 <p>Apache httpd, bir IP adresi ve port birleşimi için en belirgin 82 eşleşmelerin listelendiği çok sayıdaki sanal konak arasında ayırdedici 83 olarak istemci tarafından sağlanan HTTP <code>Host</code> başlığını 84 kullanır.</p> 85 86 <p><code class="directive"><a href="/mod/core.html#servername">ServerName</a></code> yönergesi sunucu 87 tanımının içinde herhangi bir yerde görünebilirse de her göründüğü yerde 88 bir öncekini iptal eder. Hiç <code>ServerName</code> belirtilmemişse, 89 Apache httpd, sunucu ismini sunucunun IP adresinden saptamaya 90 çalışır.</p> 91 92 <p>Belli bir IP adresi ve port çifti için yapılandırma dosyasındaki ilk 93 isme dayalı sankon önemlidir, çünkü başka hiçbir sankonun ServerName veya 94 ServerAlias yönergesi ile eşleşmeyen bu adres ve port çifti için alınmış 95 tüm isteklerde bu sankon kullanılır. Ayrıca, sunucunun <a class="glossarylink" href="/glossary.html#servernameindication" title="sözlüğe bakınız">Sunucu İsmi Belirtimi</a>ni 96 desteklemediği durumlarda tüm SSL bağlantıları için bu sankon 97 kullanılır.</p> 98 99 <p><code>VirtualHost</code> içindeki isimlerin sırası (jokersiz) bir 100 <code>ServerAlias</code> gibi ele alınır (fakat hiçbir 101 <code>ServerAlias</code> yönergesi ile geçersiz kılınmaz).</p> 102 103 <p>Her sankon için bazı değerler öntanımlı olarak atanır. Bunların 104 başlıcaları:</p> 105 106 <ol> 107 <li>Sankon bir <code class="directive"><a href="/mod/core.html#serveradmin">ServerAdmin</a></code> 108 yönergesi içermiyorsa, 109 <code class="directive"><a href="/mod/core.html#timeout">Timeout</a></code>, 110 <code class="directive"><a href="/mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>, 111 <code class="directive"><a href="/mod/core.html#keepalive">KeepAlive</a></code>, 112 <code class="directive"><a href="/mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>, 113 <code class="directive"><a href="/mod/mpm_common.html#receivebuffersize">ReceiveBufferSize</a></code> ve 114 <code class="directive"><a href="/mod/mpm_common.html#sendbuffersize">SendBufferSize</a></code> yönergeleri için 115 öntanımlı değerler ana_sunucudaki eşdeğerlerinden miras alınır. (Yani, 116 bu yönergeler için ana_sunucudaki son değerler miras alınır.)</li> 117 118 <li>Sankon için öntanımlı dizin erişim izinlerinin tanımlandığı "arama 119 öntanımlıları" ana_sunucununkilere katılır. Buna her modülün dizinlere 120 özgü yapılandırma bilgileri dahildir.</li> 121 122 <li>Her modülün ana_sunucudaki sunuculara özgü yapılandırmaları sankon 123 sunucusununkilerle katıştırılır.</li> 124 </ol> 125 126 <p>Esasen, ana_sunucu, sankon sunucularını oluştururken bir öntanımlılar 127 listesi veya öntanımlı değerlere dayanak noktası olarak ele alınır. 128 Fakat bu ana_sunucu tanımlarının yapılandırma dosyasındaki yerlerinin 129 saptanmasının konumuzla ilgisi yoktur; ana_sunucu yapılandırmasının 130 tamamı son katıştırma yapılacağı zaman çözümlenir. Bu bakımdan, 131 ana_sunucu tanımlarından bir kısmı sankon tanımlarından sonra yer alsa 132 bile sankon tanımlarında etkili olabilir.</p> 133 134 <p>Eğer, bu noktada ana_sunucu hiçbir <code>ServerName</code> satırı 135 içermiyorsa <code class="program"><a href="/programs/httpd.html">httpd</a></code> programının çalıştığı makinenin 136 konak ismi öntanımlıdır. Ana_sunucunun <code>ServerName</code> için 137 yaptığı DNS sorgusundan dönen IP adreslerine <em>ana_sunucu adres 138 kümesi</em> diyoruz.</p> 139 140 <p>Tanımsız <code>ServerName</code> alanları için bir isme dayalı sankon, 141 sankonu tanımlayan <code>VirtualHost</code> yönergesinde belirtilen ilk 142 adresi öntanımlı değer kabul eder.</p> 143 144 <p>Sihirli <code>_default_</code> sankonları için ana_sunucunun 145 <code>ServerName</code> değeri kullanılır.</p> 146 147</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 148<div class="section"> 149<h2><a name="hostmatching" id="hostmatching">Sanal Konağın Belirlenmesi</a></h2> 150 151 <p>Sunucu bir istek durumunda hangi sankonun kullanılacağını şöyle 152 belirler:</p> 153 154 <h3><a name="hashtable" id="hashtable">IP adresi aranır</a></h3> 155 156 <p>Bir adres ve port için bağlantı ilk alındığında Apache httpd tüm 157 <code>VirtualHost</code> tanımlarında bu çifti arar.</p> 158 159 <p>Arama başarısız olursa <code>*</code> (herşey) eşleşmelerine 160 bakılır.</p> 161 162 <p>Bir eşleşme bulunamazsa hizmet ana sunucudan sunulur.</p> 163 164 <p>Arama sonucunda bu IP adresi için bulunmuş <code>VirtualHost</code> 165 tanımları varsa sonraki adım hizmetin bir IP’ye dayalı sankondan mı yoksa 166 isme dayalı bir sankondan mı sunulacağına karar vermektir.</p> 167 168 169 170 <h3><a name="ipbased" id="ipbased">IP’ye dayalı sankon</a></h3> 171 172 <p>Eğer en iyi eşleşme olarak saptanmış IP adresi ve port çiftini içeren 173 sadece bir <code>VirtualHost</code> yönergesi varsa artık karar vermek 174 için başka bir şey yapmaya gerek yoktur ve istek bu sankondan 175 sunulur.</p> 176 177 178 179 <h3><a name="namebased" id="namebased">İsme dayalı sankon</a></h3> 180 181 <p>Eğer en iyi eşleşme olarak saptanmış IP adresi ve port çiftini içeren 182 birden fazla <code>VirtualHost</code> yönergesi varsa, sonraki 183 adımlardaki "liste" eşleşen sankonların listesi olup sankonlar listede 184 yapılandırma dosyasındaki yerlerine göre sıralanırlar.</p> 185 186 <p>Bağlantı SSL kullanıyorsa, sunucunun <a class="glossarylink" href="/glossary.html#servernameindication" title="sözlüğe bakınız">Sunucu İsmi Belirtimi</a>ni 187 desteklediği durumlarda SSL istemci uzlaşımı, istenen konak ismiyle 188 birlikte TLS eklentisini de içeriyorsa, konak ismi, SSL olmayan 189 bağlantılardaki <code>Host:</code> başlığı kullanımına benzer şekilde 190 aşağıdaki gibi kullanılır. Aksi takdirde, SSL bağlantıları için adresin 191 eşleştiği ilk isme dayalı sankon kullanılır. Sunucunun bağlantı için 192 hangi sertifikayı kullanacağını sankon belirlediği için bu önemlidir.</p> 193 194 <p>İstek bir <code>Host:</code> başlık alanı içeriyorsa, listede 195 <code>ServerName</code> veya <code>ServerAlias</code> alanı başlık alanı 196 ile eşleşen ilk sankona bakılır. <code>Host:</code> alanı bir port 197 içerebilirse de Apache httpd bunu yoksayarak daima istemcinin isteği 198 gönderdiği portu gerçek port kabul eder.</p> 199 200 <p>Yapılandırma dosyasındaki belirtilen IP adresiyle eşleşen ilk sankon en 201 yüksek önceliğe sahiptir ve sunucu ismi bilinmeyen ve (bir HTTP/1.0 202 isteği gibi) <code>Host:</code> başlık alanı içermeyen istekleri de 203 yakalar.</p> 204 205 206 207 <h3><a name="persistent" id="persistent">Kalıcı bağlantılar</a></h3> 208 209 <p>Yukarıda açıklanan <em>IP araması</em> belli bir TCP/IP oturumunda 210 <em>bir</em> defaya mahsus yapıldığı halde bir kalıcı/KeepAlive bağlantı 211 sırasında <em>her</em> istek için ayrı bir <em>arama</em> yapılır. Başka 212 bir deyişle, bir istemci tek bir kalıcı bağlantı üzerinde farklı isme 213 dayalı sankonlardan sayfa talebinde bulunabilir.</p> 214 215 216 217 <h3><a name="absoluteURI" id="absoluteURI">Mutlak URI</a></h3> 218 219 <p>Eğer istekte belirtilen URI bir mutlak URI ise ve istek yapılan konak 220 ismi ve port ana sunucuyla veya sankonlardan biriyle eşleşiyorsa, 221 şema/konakadı/port öneki ayrılır ve elde edilen göreli URI ilgili 222 sankondan veya ana sunucudan sunulur. Eğer bir eşleşme sağlanamazsa 223 URI’ye dokunulmaz ve istek bir vekil isteği olarak ele alınır.</p> 224 225 226<h3><a name="observations" id="observations">İzlenimler</a></h3> 227 228 <ul> 229 <li>İsme dayalı sanal konak işlemleri, sunucunun en iyi eşleşen IP'ye 230 dayalı sanal konağı seçmesinin ardından uygulanır.</li> 231 232 <li>İstemcinin hangi IP adresine bağlandığını umursamıyorsanız, sanal 233 konaklarınızda adres olarak "*" kullanın, böylece yapılandırılmış 234 sankonların hepsine isme dayalı sanal konak işlemleri uygulanır.</li> 235 236 <li>Bir IP’ye dayalı sankon için asla <code>ServerAlias</code> ve 237 <code>ServerPath</code> değerine bakılmaz.</li> 238 239 <li>Sıralama sadece aynı IP adresine sahip isme dayalı sankonlar arasında 240 önemlidir. Aynı adres kümesine mensup isme dayalı sankonlardan 241 yapılandırma dosyasında ilk sırada yer alanı en yüksek önceliğe 242 sahiptir.</li> 243 244 <li>Eşleştirme işlemi sırasında <code>Host:</code> 245 başlık alanında belirtilen port asla kullanılmaz. Apache httpd daima 246 istemcinin isteği gönderdiği gerçek portu kullanır.</li> 247 248 <li>Eğer aynı IP adresine sahip IP’ye dayalı iki sankon varsa, bunlara 249 örtük olarak isme dayalı sanal konak işlemleri uygulanır. 2.3.11 250 sürümünden beri yeni davranış şekli budur.</li> 251 252 <li>Ana_sunucunun bir isteğe hizmet sunabilmesi için istemcinin 253 bağlandığı IP adresi ve port hiçbir yerde belirtilmemiş ve 254 hiçbir sankon ile eşleşme sağlanamamış olmalıdır. Başka bir deyişle, 255 istemcinin bağlandığı port ile eşleşen bir <code>_default_</code> 256 sankon olmadıkça adres ve port belirtmeyen bir isteğe ana_sunucu yanıt 257 verecektir.</li> 258 259 <li><code>VirtualHost</code> yönergelerinde asla DNS isimleri 260 belirtmemelisiniz. Aksi takdirde sunucuyu başlatma sırasında DNS 261 sorgusu yapmaya zorlamış olursunuz. Listelenen tüm alanlar için DNS 262 üzerinde tam denetime sahip değilseniz bu ayrıca bir güvenlik 263 tehdidine yol açar. Bu konuda daha ayrıntılı bilgi edinmek için <a href="/dns-caveats.html">DNS ile ilgili konular ve Apache</a> 264 belgesine bakınız.</li> 265 266 <li><code>ServerName</code> her sankon için ayrı ayrı belirlenmiş 267 olmalıdır. Aksi takdirde her sankon için bir DNS sorgusu gerekir.</li> 268 </ul> 269 270 271</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 272<div class="section"> 273<h2><a name="tips" id="tips">İpuçları</a></h2> 274 275 <p><a href="/dns-caveats.html#tips">DNS konuları</a> sayfasındaki 276 ipuçlarına ilaveten burada da bazı ipuçları bulacaksınız:</p> 277 278 <ul> 279 <li>Ana sunucu tanımlarının hepsini <code>VirtualHost</code> 280 tanımlarının öncesinde bitirin. Bu ayrıca yapılandırmanızın 281 okunabilirliğini de arttırır; <code>VirtualHost</code> tanımlarının 282 sonrasına sarkan yapılandırmaların katıştırılması işlemi tüm sanal 283 konakları etkileyebilen tanımlar bakımından bir 284 karışıklığa/belirsizliğe sebep olabilir.)</li> 285 </ul> 286 287</div></div> 288<div class="bottomlang"> 289<p><span>Mevcut Diller: </span><a href="/en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> | 290<a href="/fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 291<a href="/ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 292<a href="/tr/vhosts/details.html" title="Türkçe"> tr </a></p> 293</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />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 again by our moderators 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 Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> 294<script type="text/javascript"><!--//--><![CDATA[//><!-- 295var comments_shortname = 'httpd'; 296var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/details.html'; 297(function(w, d) { 298 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 299 d.write('<div id="comments_thread"><\/div>'); 300 var s = d.createElement('script'); 301 s.type = 'text/javascript'; 302 s.async = true; 303 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 304 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 305 } 306 else { 307 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 308 } 309})(window, document); 310//--><!]]></script></div><div id="footer"> 311<p class="apache">Copyright 2014 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> 312<p class="menu"><a href="/mod/">Modüller</a> | <a href="/mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="/glossary.html">Terimler</a> | <a href="/sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- 313if (typeof(prettyPrint) !== 'undefined') { 314 prettyPrint(); 315} 316//--><!]]></script> 317</body></html>