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="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <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">&nbsp;en&nbsp;</a> |
25<a href="/fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
26<a href="/ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
27<a href="/tr/vhosts/details.html" title="Türkçe">&nbsp;tr&nbsp;</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>&lt;VirtualHost&gt;</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">&lt;VirtualHost&gt;</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">&nbsp;en&nbsp;</a> |
290<a href="/fr/vhosts/details.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
291<a href="/ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
292<a href="/tr/vhosts/details.html" title="Türkçe">&nbsp;tr&nbsp;</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&amp;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>