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>Apache ve DNS ile ilgili Konular - 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.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.2</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.2</a></div><div id="page-content"><div id="preamble"><h1>Apache ve DNS ile ilgili Konular</h1>
23<div class="toplang">
24<p><span>Mevcut Diller: </span><a href="/en/dns-caveats.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25<a href="/ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
26<a href="/ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
27<a href="/tr/dns-caveats.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
28</div>
29
30    <p>Bu sayfanın konusu şöyle özetlenebilirdi: Yapılandırma dosyalarınızda
31      DNS sorguları yapılmasını gerektirecek ayarlamalardan kaçınınız. Eğer
32      yapılandırma dosyalarınızda DNS sorgusu yapılarak çözümlenebilecek
33      adresler bulunursa sunucunuz beklenmedik davranışlar (hiç
34      başlamayabilir) gösterebileceği gibi hizmet reddi veya hizmet
35      hırsızlığı (bazı kullanıcıların diğerlerine giden sayfaları çalma
36      olasılığı dahil) saldırılarına açık hale gelebilir.</p>
37  </div>
38<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#example">Basit Bir Örnek</a></li>
39<li><img alt="" src="/images/down.gif" /> <a href="#denial">Hizmet Reddi</a></li>
40<li><img alt="" src="/images/down.gif" /> <a href="#main">"Ana Sunucu" Adresi</a></li>
41<li><img alt="" src="/images/down.gif" /> <a href="#tips">Bu Sorunlardan Kaçınmak için İpuçları</a></li>
42<li><img alt="" src="/images/down.gif" /> <a href="#appendix">Ek: Ufuk Turu</a></li>
43</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
44<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
45<div class="section">
46<h2><a name="example" id="example">Basit Bir Örnek</a></h2>
47    
48
49    <div class="example"><p><code>
50      &lt;VirtualHost falan.fesmekan.dom&gt;
51      <span class="indent">
52        ServerAdmin filanca@fesmekan.dom <br />
53        DocumentRoot /siteler/fesmekan
54      </span>
55      &lt;/VirtualHost&gt;
56    </code></p></div>
57
58    <p>Apache’nin beklendiği gibi işlemesi için her sanal konak için iki
59      veriye mutlaka ihtiyacı vardır: <code class="directive"><a href="/mod/core.html#servername">ServerName</a></code> ve sunucunun bağlantı kabul edip hizmet
60      sunacağı en az bir IP adresi. Yukarıdaki örnekte IP adresi
61      bulunmamaktadır, dolayısıyla Apache, <code>falan.fesmekan.dom</code>
62      adresi için bir DNS sorgusu yapmak zorundadır. Eğer sunucu,
63      yapılandırma dosyasını çözümlediği sırada bir sebeple DNS sunucusuna
64      erişemezse bu sanal konak <em>yapılandırılmayacak</em> (hApache 1.2
65      öncesinde sunucu hiç başlatılmazdı) ve bu sanal konağa yapılan
66      isteklere yanıt verilemeyecektir.</p>
67
68    <p><code>falan.fesmekan.dom</code>’un 192.168.2.1 IP adresine sahip
69      olduğunu varsayarsak yapılandırma şöyle olurdu:</p>
70
71    <div class="example"><p><code>
72      &lt;VirtualHost 192.168.2.1&gt; <br />
73      <span class="indent">
74        ServerAdmin filanca@fesmekan.dom <br />
75        DocumentRoot /siteler/fesmekan
76      </span>
77      &lt;/VirtualHost&gt;
78    </code></p></div>
79
80    <p>Ancak, bu sefer de bu sanal konağın sunucu ismini öğrenmek için
81      Apache’nin bir ters DNS sorgusu yapması gerekecektir. Eğer bu sorgu
82      başarısız olursa kısmi bir yapılandırmaya gidilir (Apache 1.2 öncesinde
83      sunucu hiç başlatılmazdı). Eğer sanal konak isme dayalı ise sanal konak
84      kısmen bile yapılandırılmaz. IP’ye dayalı sanal konaklar büyük oranda
85      çalışır, fakat sunucu ismini içeren tam bir adres üretilmesini
86      gerektiren bir durumda, sunucu geçerli bir adres üretemez.</p>
87
88    <p>Her iki sorunu da çözen yapılandırma şöyle olurdu:</p>
89
90    <div class="example"><p><code>
91      &lt;VirtualHost 192.168.2.1&gt; <br />
92      <span class="indent">
93        ServerName falan.fesmekan.dom <br />
94        ServerAdmin filanca@fesmekan.dom <br />
95        DocumentRoot /siteler/fesmekan
96      </span>
97      &lt;/VirtualHost&gt;
98    </code></p></div>
99  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
100<div class="section">
101<h2><a name="denial" id="denial">Hizmet Reddi</a></h2>
102    
103
104    <p>Hizmet reddinin meydana gelebilecek (en az) iki türü vardır.
105      Apache’nin 1.2 öncesi bir sürümünü kullanıyorsanız sanal
106      konaklarınızdan herhangi biri için yukarıdaki iki sorgudan biri
107      başarısız olursa sunucunuzu asla başlatamazsınız. Bazı durumlarda, DNS
108      sorgularından alınacak yanıtlar sizin denetiminizde olmayabilir;
109      örneğin <code>fesmekan.dom</code> müşterilerinizden birine aitse ve
110      kendi DNS sunucuları varsa <code>falan.fesmekan.dom</code> kaydını
111      silerek sunucunuzun hiç başlatılamamasına (1.2 öncesi) sebep
112      olabilirler.</p>
113
114    <p>Diğer türü biraz daha sinsidir. Şöyle bir yapılandırmanız olsun:</p>
115
116    <div class="example"><p><code>
117      &lt;VirtualHost falan.fesmekan.dom&gt;<br />
118      <span class="indent">
119        ServerAdmin filanca@fesmekan.dom <br />
120        DocumentRoot /siteler/fesmekan
121      </span>
122      &lt;/VirtualHost&gt;<br />
123      <br />
124      &lt;VirtualHost misal.mesela.dom&gt;<br />
125      <span class="indent">
126        ServerAdmin falanca@mesela.dom<br />
127        DocumentRoot /siteler/mesela<br />
128      </span>
129      &lt;/VirtualHost&gt;
130    </code></p></div>
131
132    <p><code>falan.fesmekan.dom</code>’a 192.168.2.1,
133      <code>misal.mesela.dom</code>’a 192.168.2.2 atadığınızı fakat,
134      <code>fesmekan.dom</code>’un DNS kaydının sizin denetiminizde olmadığını
135      varsayalım. Bu yapılandırmayla, <code>fesmekan.dom</code>’u
136      <code>mesela.dom</code>’a giden tüm trafiği çalabilecek duruma
137      getirirsiniz. Bunu gerçekleştirmek için DNS kaydında
138      <code>falan.fesmekan.dom</code>’a 192.168.2.2 adresinin atanması
139      yeterlidir. Kendi DNS’lerine sahip olduklarından dolayı
140      <code>falan.fesmekan.dom</code>’a istedikleri IP adresini atamaktan
141      onları alıkoyamazsınız.</p>
142
143    <p>192.168.2.2’ye gelen isteklerin hepsine
144      (<code>http://misal.mesela.dom/biryer</code> şeklinde yazılan
145      adresler dahil) <code>fesmekan.dom</code> sanal konağınca hizmet
146      sunulacaktır. Apache’nin gelen istekleri sunduğu sanal konaklarla nasıl
147      eşleştirdiğini bilirseniz bunun sebebini kolayca anlarsınız. Bunu
148      kabataslak açıklayan  <a href="vhosts/details.html">bir belgemiz
149      mevcuttur</a>.</p>
150  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
151<div class="section">
152<h2><a name="main" id="main">"Ana Sunucu" Adresi</a></h2>
153    
154
155    <p>Apache 1.1’de <a href="vhosts/name-based.html">isme dayalı sanal konak
156      desteği</a>ne ek olarak, Apache’nin, <code class="program"><a href="/programs/httpd.html">httpd</a></code>’nin
157      çalıştığı makinenin IP adres(ler)ini de bilmeye ihtiyacı vardır. Bu
158      adresi elde etmek için sunucu, ya sunucu genelinde geçerli <code class="directive"><a href="/mod/core.html#servername">ServerName</a></code> yönergesine bakar ya da bir C
159      işlevi olan <code>gethostname</code>’i kullanır (işlev, komut
160      isteminden <code>hostname</code> komutuna dönen yanıtın aynısını
161      döndürür) ve ardından bu adresle ilgili olarak bir DNS sorgusu yapar.
162      Bu sorgudan kaçınmanın henüz bir yolu yoktur.</p>
163
164    <p>Eğer bu sorgunun (DNS sunucusunun çökmüş olması gibi bir nedenle)
165      başarısız olabileceğinden korkuyorsanız, makine ismini ve IP adresini
166      <code>/etc/hosts</code> dosyanıza yazabilirsiniz (Makinenizin düzgün
167      olarak açılabilmesi için zaten bu kaydı yapmış olmanız gerekir).
168      Kullandığınız işletim sistemine bağlı olarak bu kaydın
169      <code>/etc/resolv.conf</code> veya <code>/etc/nsswitch.conf</code>
170      dosyasında bulunması gerekebilir.</p>
171
172    <p>Herhangi bir nedenle sunucunuz bir DNS sorgusu yapmıyorsa veya
173      yapmamalıysa, Apache’yi <code>HOSTRESORDER</code> ortam değişkenine
174      "<code>local</code>" değerini atadıktan sonra çalıştırabilirsiniz. Bu
175      tamamen işletim sistemine ve kullandığınız çözümleyici kütüphanelere
176      bağlıdır. Ayrıca, ortamı denetlemek için <code class="module"><a href="/mod/mod_env.html">mod_env</a></code>
177      kullanmıyorsanız, CGI’ler de bundan etkilenir. En iyisi işletim
178      sisteminizin SSS belgelerini ve kılavuz sayfalarını okumaktır.</p>
179  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
180<div class="section">
181<h2><a name="tips" id="tips">Bu Sorunlardan Kaçınmak için İpuçları</a></h2>
182    
183
184    <ul>
185      <li><code class="directive"><a href="/mod/core.html#virtualhost">VirtualHost</a></code> yönergelerinizde
186        IP adresleri kullanınız.</li>
187
188      <li><code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code> yönergelerinizde
189        IP adresleri kullanınız.</li>
190
191      <li>Tüm sanal konakların ayrı birer <code class="directive"><a href="/mod/core.html#servername">ServerName</a></code> yönergesi olsun.</li>
192
193      <li>Hiçbir sayfa sunulmayan bir <code>&lt;VirtualHost
194        _default_:*&gt;</code> sanal konağınız olsun.</li>
195    </ul>
196  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
197<div class="section">
198<h2><a name="appendix" id="appendix">Ek: Ufuk Turu</a></h2>
199    
200
201    <p>DNS ile ilgili durum hiç de arzu edildiği gibi değildir. Apache 1.2
202      için, DNS sorguları başarısız olsa bile sunucunun başlatılabilmesini
203      sağlamaya çalıştık, fakat belki yapabildiğimizden daha da iyisi
204      mümkündür. Günümüz Genel Ağ’ında IP adresleri sık sık değiştiğinden
205      yapılandırma dosyasına doğrudan IP adresini yazma gerekliliği asla arzu
206      edilen davranış değildir.</p>
207
208    <p>Yukarıda nasıl yapıldığı açıklanan hizmet hırsızlığı saldırısına karşı
209      önlem olarak, normal sorgudan dönen IP adresine bir ters DNS sorgusu
210      yapıp bu iki sonucu karşılaştırmak ve eşleşmeme durumunda sanal konağı
211      iptal etmek bir çözüm olabilir. Fakat bunun mümkün olabilmesi için
212      uygun bir ters DNS kaydına ihtiyaç vardır. (FTP sunucuları ve TCP
213      sarmalayıcılar tarafından yapılan çifte ters DNS sorgusu kullanımından
214      dolayı çoğu ağ yöneticisi bu konuda zaten bilgi sahibidir.)</p>
215
216    <p>Her halükarda, IP adreslerinin kullanılmaması nedeniyle yapılan DNS
217      sorgularının başarısız olması durumunda sanal konaklı bir sunucuyu
218      düzgün bir şekilde başlatmak olası görünmektedir. Yapılandırmayı kısmen
219      iptal etmek gibi kısmi çözümler, sunucudan beklentinizin ne olduğuna
220      bağlı olarak sunucuyu hiç başlatmamaktan daha iyi olabilir.</p>
221
222    <p>HTTP/1.1’de belirtildiği gibi <code>Host</code> başlığını göndererek
223      işlem yapabilen tarayıcılar ve vekiller IP’ye dayalı sanal konak
224      kullanımını tamamen ortadan kaldırmanın mümkün olabileceğini
225      göstermektedir. Bu durumda yapılandırmanın çözümlenmesi aşamasında DNS
226      sorgusu yapma gereği kalmayacaktır. Fakat 1997 Mart’ından beri önemli
227      sunucular üzerinde bunların yeterince geniş bir uygulama alanı
228      bulmadığı görülmektedir.</p>
229  </div></div>
230<div class="bottomlang">
231<p><span>Mevcut Diller: </span><a href="/en/dns-caveats.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
232<a href="/ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
233<a href="/ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
234<a href="/tr/dns-caveats.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
235</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>
236<script type="text/javascript"><!--//--><![CDATA[//><!--
237var comments_shortname = 'httpd';
238var comments_identifier = 'http://httpd.apache.org/docs/2.2/dns-caveats.html';
239(function(w, d) {
240    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
241        d.write('<div id="comments_thread"><\/div>');
242        var s = d.createElement('script');
243        s.type = 'text/javascript';
244        s.async = true;
245        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
246        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
247    }
248    else { 
249        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
250    }
251})(window, document);
252//--><!]]></script></div><div id="footer">
253<p class="apache">Copyright 2013 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>
254<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[//><!--
255if (typeof(prettyPrint) !== 'undefined') {
256    prettyPrint();
257}
258//--><!]]></script>
259</body></html>