]> granicus.if.org Git - apache/blob - docs/manual/vhosts/details.xml.tr
rebuild
[apache] / docs / manual / vhosts / details.xml.tr
1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 1301735:1777061 (outdated) -->
5 <!-- =====================================================
6  Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7    Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
9
10 <!--
11  Licensed to the Apache Software Foundation (ASF) under one or more
12  contributor license agreements.  See the NOTICE file distributed with
13  this work for additional information regarding copyright ownership.
14  The ASF licenses this file to You under the Apache License, Version 2.0
15  (the "License"); you may not use this file except in compliance with
16  the License.  You may obtain a copy of the License at
17
18      http://www.apache.org/licenses/LICENSE-2.0
19
20  Unless required by applicable law or agreed to in writing, software
21  distributed under the License is distributed on an "AS IS" BASIS,
22  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  See the License for the specific language governing permissions and
24  limitations under the License.
25 -->
26
27 <manualpage metafile="details.xml.meta">
28 <parentdocument href="./">Sanal Konaklar</parentdocument>
29    <title>Sanal Konak Eşlemenin Derinliğine İncelenmesi</title>
30
31 <summary>
32
33     <p>Bu belgede, bir istek aldığında Apache’nin hangi sanal konak
34       ile hizmet sunacağına nasıl karar verdiği açıklanmaya çalışılmıştır.</p>
35
36     <p>Çoğu kullanıcı hangi türü kullanacağına karar vermek için önce <a
37       href="name-based.html#namevip">İsme dayalı ve IP’ye dayalı Sanal
38       Konak</a> bölümünü, sonra <a href="name-based.html">İsme Dayalı Sanal
39       Konak Desteği</a> veya <a href="ip-based.html">IP’ye Dayalı Sanal Konak
40       Desteği</a> belgesini okumalı ve <a href="examples.html">bazı
41       örneklere</a> göz atmalıdır.</p>
42
43     <p>Bunlardan sonra tüm ayrıntıları anlamak isterseniz tekrar bu sayfaya
44       gelebilirsiniz.</p>
45
46 </summary>
47
48 <seealso><a href="ip-based.html">IP’ye Dayalı Sanal Konak Desteği</a></seealso>
49 <seealso><a href="name-based.html">İsme Dayalı Sanal Konak Desteği</a></seealso>
50 <seealso><a href="examples.html">Çok Kullanılan Sanal Konak Örnekleri</a></seealso>
51 <seealso><a href="mass.html">Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma</a></seealso>
52
53 <section id="configparsing"><title>Yapılandırma Dosyası</title>
54
55     <p>Bu belgede <code>&lt;VirtualHost&gt;</code> bölümleri dışında kalan
56       tanımlardan bahsederken <em>ana_sunucu</em> diyeceğiz.</p>
57
58     <p><directive type="section" module="core">VirtualHost</directive>
59       bölümlerindeki tanımlamalardan bahsederken <em>sankonlar</em>
60       diyeceğiz.</p>
61
62     <p>Her <code>VirtualHost</code> bölümü en az bir adres ve isteğe bağlı
63       portlar içerir.</p>
64
65     <p>Sanal konak tanımlarının içindeki IP adreslerinin yerine konak isimleri
66       kullanılabilir, fakat bunlar başlatma sırasında çözümleneceklerinden
67       çözümlemedeki bir başarısızlık bu sanal konak tanımlarının yoksayılması
68       ile sonuçlanacaktır. Bu bakımdan önerilmez.</p>
69
70     <p><code>VirtualHost</code> yönergesinde görünen her adresin seçimlik bir
71       portu olabilir. Eğer bir port belirtilmemişse, port olarak <code>*</code>
72       belirtilmiş gibi bütün portlar dinlenir.</p>
73
74     <p>(<code>VirtualHost</code> yönergesinde belirtilen port numaraları Apache
75       httpd'nin dinleyeceği port numaraları olarak yorumlanmaz, sadece bir
76       isteği işleme sokarken hangi <code>VirtualHost</code> bölümünün
77       seçileceğini belirlerler. Sunucunun dinleyeceği adresleri ve portları
78       belirtmek için <directive module="mpm_common">Listen</directive>
79       yönergesini kullanın.)</p>
80
81     <p>Adreslerin tamamını (DNS sorgularındaki çoklu sonuçlar dahil) içeren
82       kümeye <em>sankonların adres kümesi</em> denir.</p>
83
84     <p>Apache httpd, bir IP adresi ve port birleşimi için en belirgin
85       eşleşmelerin listelendiği çok sayıdaki sanal konak arasında ayırdedici
86       olarak istemci tarafından sağlanan HTTP <code>Host</code> başlığını
87       kullanır.</p>
88
89     <p><directive module="core">ServerName</directive> yönergesi sunucu
90       tanımının içinde herhangi bir yerde görünebilirse de her göründüğü yerde
91       bir öncekini iptal eder. Hiç <code>ServerName</code> belirtilmemişse,
92       Apache httpd, sunucu ismini sunucunun IP adresinden saptamaya
93       çalışır.</p>
94
95     <p>Belli bir IP adresi ve port çifti için yapılandırma dosyasındaki ilk
96       isme dayalı sankon önemlidir, çünkü başka hiçbir sankonun ServerName veya
97       ServerAlias yönergesi ile eşleşmeyen bu adres ve port çifti için alınmış
98       tüm isteklerde bu sankon kullanılır. Ayrıca, sunucunun <glossary
99       ref="servernameindication">Sunucu İsmi Belirtimi</glossary>ni
100       desteklemediği durumlarda tüm SSL bağlantıları için bu sankon
101       kullanılır.</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 <directive module="core">ServerAdmin</directive>
108         yönergesi içermiyorsa,
109         <directive module="core">Timeout</directive>,
110         <directive module="core">KeepAliveTimeout</directive>,
111         <directive module="core">KeepAlive</directive>,
112         <directive module="core">MaxKeepAliveRequests</directive>,
113         <directive module="mpm_common">ReceiveBufferSize</directive> ve
114         <directive module="mpm_common">SendBufferSize</directive> 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 <program>httpd</program> 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 </section>
148
149 <section id="hostmatching"><title>Sanal Konağın Belirlenmesi</title>
150
151     <p>Sunucu bir istek durumunda hangi sankonun kullanılacağını şöyle
152       belirler:</p>
153
154     <section id="hashtable"><title>IP adresi aranır</title>
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     </section>
169
170     <section id="ipbased"><title>IP’ye dayalı sankon</title>
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     </section>
178
179     <section id="namebased"><title>İsme dayalı sankon</title>
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 <glossary
187       ref="servernameindication">Sunucu İsmi Belirtimi</glossary>ni
188       desteklediği durumlarda SSL istemci uzlaşımı, istenen konak ismiyle
189       birlikte TLS eklentisini de içeriyorsa, konak ismi, SSL olmayan
190       bağlantılardaki <code>Host:</code> başlığı kullanımına benzer şekilde
191       aşağıdaki gibi kullanılır. Aksi takdirde, SSL bağlantıları için adresin
192       eşleştiği ilk isme dayalı sankon kullanılır. Sunucunun bağlantı için
193       hangi sertifikayı kullanacağını sankon belirlediği için bu önemlidir.</p>
194
195     <p>İstek bir <code>Host:</code> başlık alanı içeriyorsa, listede
196       <code>ServerName</code> veya <code>ServerAlias</code> alanı başlık alanı
197       ile eşleşen ilk sankona bakılır. <code>Host:</code> alanı bir port
198       içerebilirse de Apache httpd bunu yoksayarak daima istemcinin isteği
199       gönderdiği portu gerçek port kabul eder.</p>
200
201     <p>Yapılandırma dosyasındaki belirtilen IP adresiyle eşleşen ilk sankon en
202       yüksek önceliğe sahiptir ve sunucu ismi bilinmeyen ve (bir HTTP/1.0
203       isteği gibi) <code>Host:</code> başlık alanı içermeyen istekleri de
204       yakalar.</p>
205
206     </section>
207
208     <section id="persistent"><title>Kalıcı bağlantılar</title>
209
210     <p>Yukarıda açıklanan <em>IP araması</em> belli bir TCP/IP oturumunda
211       <em>bir</em> defaya mahsus yapıldığı halde bir kalıcı/KeepAlive bağlantı
212       sırasında <em>her</em> istek için ayrı bir <em>arama</em> yapılır. Başka
213       bir deyişle, bir istemci tek bir kalıcı bağlantı üzerinde farklı isme
214       dayalı sankonlardan sayfa talebinde bulunabilir.</p>
215
216     </section>
217
218     <section id="absoluteURI"><title>Mutlak URI</title>
219
220     <p>Eğer istekte belirtilen URI bir mutlak URI ise ve istek yapılan konak
221       ismi ve port ana sunucuyla veya sankonlardan biriyle eşleşiyorsa,
222       şema/konakadı/port öneki ayrılır ve elde edilen göreli URI ilgili
223       sankondan veya ana sunucudan sunulur. Eğer bir eşleşme sağlanamazsa
224       URI’ye dokunulmaz ve istek bir vekil isteği olarak ele alınır.</p>
225 </section>
226
227 <section id="observations"><title>İzlenimler</title>
228
229     <ul>
230       <li>İsme dayalı sanal konak işlemleri, sunucunun en iyi eşleşen IP'ye
231         dayalı sanal konağı seçmesinin ardından uygulanır.</li>
232
233       <li>İstemcinin hangi IP adresine bağlandığını umursamıyorsanız, sanal
234         konaklarınızda adres olarak "*" kullanın, böylece yapılandırılmış
235         sankonların hepsine isme dayalı sanal konak işlemleri uygulanır.</li>
236
237       <li>Bir IP’ye dayalı sankon için asla <code>ServerAlias</code> ve
238         <code>ServerPath</code> değerine bakılmaz.</li>
239
240       <li>Sıralama sadece aynı IP adresine sahip isme dayalı sankonlar arasında
241         önemlidir. Aynı adres kümesine mensup isme dayalı sankonlardan
242         yapılandırma dosyasında ilk sırada yer alanı en yüksek önceliğe
243         sahiptir.</li>
244
245       <li>Eşleştirme işlemi sırasında <code>Host:</code>
246         başlık alanında belirtilen port asla kullanılmaz. Apache httpd daima
247         istemcinin isteği gönderdiği gerçek portu kullanır.</li>
248
249       <li>Eğer aynı IP adresine sahip IP’ye dayalı iki sankon varsa, bunlara
250         örtük olarak isme dayalı sanal konak işlemleri uygulanır. 2.3.11
251         sürümünden beri yeni davranış şekli budur.</li>
252
253       <li>Ana_sunucunun bir isteğe hizmet sunabilmesi için istemcinin
254         bağlandığı IP adresi ve port hiçbir yerde belirtilmemiş ve
255         hiçbir sankon ile eşleşme sağlanamamış olmalıdır. Başka bir deyişle,
256         istemcinin bağlandığı port ile eşleşen bir <code>_default_</code>
257         sankon olmadıkça adres ve port belirtmeyen bir isteğe ana_sunucu yanıt
258         verecektir.</li>
259
260       <li><code>VirtualHost</code> yönergelerinde asla DNS isimleri
261         belirtmemelisiniz. Aksi takdirde sunucuyu başlatma sırasında DNS
262         sorgusu yapmaya zorlamış olursunuz. Listelenen tüm alanlar için DNS
263         üzerinde tam denetime sahip değilseniz bu ayrıca bir güvenlik
264         tehdidine yol açar. Bu konuda daha ayrıntılı bilgi edinmek için <a
265         href="../dns-caveats.html">DNS ile ilgili konular ve Apache</a>
266         belgesine bakınız.</li>
267
268       <li><code>ServerName</code> her sankon için ayrı ayrı belirlenmiş
269         olmalıdır. Aksi takdirde her sankon için bir DNS sorgusu gerekir.</li>
270       </ul>
271       </section>
272
273 </section>
274
275 <section id="tips"><title>İpuçları</title>
276
277     <p><a href="../dns-caveats.html#tips">DNS konuları</a> sayfasındaki
278       ipuçlarına ilaveten burada da bazı ipuçları bulacaksınız:</p>
279
280     <ul>
281       <li>Ana sunucu tanımlarının hepsini <code>VirtualHost</code>
282         tanımlarının öncesinde bitirin. Bu ayrıca yapılandırmanızın
283         okunabilirliğini de arttırır; <code>VirtualHost</code> tanımlarının
284         sonrasına sarkan yapılandırmaların katıştırılması işlemi tüm sanal
285         konakları etkileyebilen tanımlar bakımından bir
286         karışıklığa/belirsizliğe sebep olabilir.)</li>
287     </ul>
288
289 </section>
290
291 </manualpage>
292