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="<-" 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.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"> en </a> | 25<a href="/ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 26<a href="/ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 27<a href="/tr/dns-caveats.html" title="Türkçe"> tr </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 <VirtualHost falan.fesmekan.dom> 51 <span class="indent"> 52 ServerAdmin filanca@fesmekan.dom <br /> 53 DocumentRoot /siteler/fesmekan 54 </span> 55 </VirtualHost> 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 <VirtualHost 192.168.2.1> <br /> 73 <span class="indent"> 74 ServerAdmin filanca@fesmekan.dom <br /> 75 DocumentRoot /siteler/fesmekan 76 </span> 77 </VirtualHost> 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 <VirtualHost 192.168.2.1> <br /> 92 <span class="indent"> 93 ServerName falan.fesmekan.dom <br /> 94 ServerAdmin filanca@fesmekan.dom <br /> 95 DocumentRoot /siteler/fesmekan 96 </span> 97 </VirtualHost> 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 <VirtualHost falan.fesmekan.dom><br /> 118 <span class="indent"> 119 ServerAdmin filanca@fesmekan.dom <br /> 120 DocumentRoot /siteler/fesmekan 121 </span> 122 </VirtualHost><br /> 123 <br /> 124 <VirtualHost misal.mesela.dom><br /> 125 <span class="indent"> 126 ServerAdmin falanca@mesela.dom<br /> 127 DocumentRoot /siteler/mesela<br /> 128 </span> 129 </VirtualHost> 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><VirtualHost 194 _default_:*></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"> en </a> | 232<a href="/ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 233<a href="/ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 234<a href="/tr/dns-caveats.html" title="Türkçe"> tr </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&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>