|  | <?xml version="1.0" encoding="UTF-8" ?> | 
|  | <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> | 
|  | <?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?> | 
|  | <!-- English Revision: 1673563 --> | 
|  | <!-- ===================================================== | 
|  | Translated by: Nilgün Belma Bugüner <nilgun belgeler.org> | 
|  | Reviewed by: Orhan Berent <berent belgeler.org> | 
|  | ========================================================== --> | 
|  |  | 
|  | <!-- | 
|  | Licensed to the Apache Software Foundation (ASF) under one or more | 
|  | contributor license agreements.  See the NOTICE file distributed with | 
|  | this work for additional information regarding copyright ownership. | 
|  | The ASF licenses this file to You under the Apache License, Version 2.0 | 
|  | (the "License"); you may not use this file except in compliance with | 
|  | the License.  You may obtain a copy of the License at | 
|  |  | 
|  | http://www.apache.org/licenses/LICENSE-2.0 | 
|  |  | 
|  | Unless required by applicable law or agreed to in writing, software | 
|  | distributed under the License is distributed on an "AS IS" BASIS, | 
|  | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | See the License for the specific language governing permissions and | 
|  | limitations under the License. | 
|  | --> | 
|  |  | 
|  | <manualpage metafile="dns-caveats.xml.meta"> | 
|  |  | 
|  | <title>Apache HTTP Sunucusu ve DNS ile ilgili Konular</title> | 
|  |  | 
|  | <summary> | 
|  | <p>Bu sayfanın konusu şöyle özetlenebilirdi: Yapılandırma dosyalarınızda | 
|  | DNS sorguları yapılmasını gerektirecek ayarlamalardan kaçınınız. Eğer | 
|  | yapılandırma dosyalarınızda DNS sorgusu yapılarak çözümlenebilecek | 
|  | adresler bulunursa sunucunuz beklenmedik davranışlar (hiç | 
|  | başlamayabilir) gösterebileceği gibi hizmet reddi veya hizmet | 
|  | hırsızlığı (bazı sanal konakların diğerlerine giden sayfaları çalma | 
|  | olasılığı dahil) saldırılarına açık hale gelebilir.</p> | 
|  | </summary> | 
|  |  | 
|  | <section id="example"> | 
|  | <title>Basit Bir Örnek</title> | 
|  |  | 
|  | <highlight language="config"> | 
|  | # Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın. | 
|  | <VirtualHost falan.fesmekan.dom> | 
|  | ServerAdmin filanca@fesmekan.dom | 
|  | DocumentRoot "/siteler/fesmekan" | 
|  | </VirtualHost> | 
|  | </highlight> | 
|  |  | 
|  | <p>httpd’nin beklendiği gibi işlemesi için her sanal konak için iki | 
|  | veriye mutlaka ihtiyacı vardır: <directive module="core" | 
|  | >ServerName</directive> ve sunucunun bağlantı kabul edip hizmet | 
|  | sunacağı en az bir IP adresi. Yukarıdaki örnekte IP adresi | 
|  | bulunmamaktadır, dolayısıyla Apache, <code>falan.fesmekan.dom</code> | 
|  | adresi için bir DNS sorgusu yapmak zorundadır. Eğer sunucu, | 
|  | yapılandırma dosyasını çözümlediği sırada bir sebeple DNS sunucusuna | 
|  | erişemezse bu sanal konak <em>yapılandırılmayacak</em> ve bu sanal konağa | 
|  | yapılan isteklere yanıt verilemeyecektir.</p> | 
|  |  | 
|  | <p><code>falan.fesmekan.dom</code>’un 192.168.2.1 IP adresine sahip | 
|  | olduğunu varsayarsak yapılandırma şöyle olurdu:</p> | 
|  |  | 
|  | <highlight language="config"> | 
|  | # Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın. | 
|  | <VirtualHost 192.168.2.1> | 
|  | ServerAdmin filanca@fesmekan.dom | 
|  | DocumentRoot "/siteler/fesmekan" | 
|  | </VirtualHost> | 
|  | </highlight> | 
|  |  | 
|  | <p>Ancak, bu sefer de bu sanal konağın sunucu ismini öğrenmek için | 
|  | httpd’nin bir ters DNS sorgusu yapması gerekecektir. Eğer bu sorgu | 
|  | başarısız olursa kısmi bir yapılandırmaya gidilir. | 
|  | Eğer sanal konak isme dayalı ise sanal konak | 
|  | kısmen bile yapılandırılmaz. IP’ye dayalı sanal konaklar büyük oranda | 
|  | çalışır, fakat (örneğin, bir Redirect varlığında olduğu gibi) sunucu ismini | 
|  | içeren tam bir adres üretilmesini gerektiren bir durumda, sunucu geçerli | 
|  | bir adres üretemez.</p> | 
|  |  | 
|  | <p>Her iki sorunu da çözen yapılandırma şöyle olurdu:</p> | 
|  |  | 
|  | <highlight language="config"> | 
|  | <VirtualHost 192.168.2.1> | 
|  | ServerName falan.fesmekan.dom | 
|  | ServerAdmin filanca@fesmekan.dom | 
|  | DocumentRoot "/siteler/fesmekan" | 
|  | </VirtualHost> | 
|  | </highlight> | 
|  | </section> | 
|  |  | 
|  | <section id="denial"> | 
|  | <title>Hizmet Reddi</title> | 
|  |  | 
|  | <p>Şöyle bir yapılandırmanız olsun:</p> | 
|  |  | 
|  | <highlight language="config"> | 
|  | <VirtualHost falan.fesmekan.dom> | 
|  | ServerAdmin filanca@fesmekan.dom | 
|  | DocumentRoot "/siteler/fesmekan" | 
|  | </VirtualHost> | 
|  |  | 
|  | <VirtualHost misal.mesela.dom> | 
|  | ServerAdmin falanca@mesela.dom | 
|  | DocumentRoot "/siteler/mesela" | 
|  | </VirtualHost> | 
|  | </highlight> | 
|  |  | 
|  | <p><code>falan.fesmekan.dom</code>’a 192.168.2.1, | 
|  | <code>misal.mesela.dom</code>’a 192.168.2.2 atadığınızı fakat, | 
|  | <code>mesela.dom</code>’un DNS kaydının sizin denetiminizde olmadığını | 
|  | varsayalım. Bu yapılandırmayla, <code>mesela.dom</code>’u | 
|  | <code>fesmekan.dom</code>’a giden tüm trafiği çalabilecek duruma | 
|  | getirirsiniz. Bunu gerçekleştirmek için DNS kaydında | 
|  | <code>misal.mesela.dom</code>’a 192.168.2.1 adresinin atanması | 
|  | yeterlidir. Kendi DNS’lerine sahip olduklarından dolayı | 
|  | <code>misal.mesela.dom</code>’a istedikleri IP adresini atamaktan | 
|  | onları alıkoyamazsınız.</p> | 
|  |  | 
|  | <p>192.168.2.1’e gelen isteklerin hepsine | 
|  | (<code>http://falan.fesmekan.dom/biryer</code> şeklinde yazılan | 
|  | adresler dahil) <code>mesela.dom</code> sanal konağınca hizmet | 
|  | sunulacaktır. Apache’nin gelen istekleri sunduğu sanal konaklarla nasıl | 
|  | eşleştirdiğini bilirseniz bunun sebebini kolayca anlarsınız. Bunu | 
|  | kabataslak açıklayan  <a href="vhosts/details.html">bir belgemiz | 
|  | mevcuttur</a>.</p> | 
|  | </section> | 
|  |  | 
|  | <section id="main"> | 
|  | <title>"Ana Sunucu" Adresi</title> | 
|  |  | 
|  | <p><a href="vhosts/name-based.html">İsme dayalı sanal konak | 
|  | desteği</a>, httpd’nin çalıştığı makinenin IP adres(ler)ini de bilmesini | 
|  | gerektirir. Bu adresi elde etmek için sunucu, ya sunucu genelinde geçerli | 
|  | <directive module="core">ServerName</directive> yönergesine bakar ya da bir | 
|  | C işlevi olan <code>gethostname</code>’i kullanır (işlev, komut | 
|  | isteminden <code>hostname</code> komutuna dönen yanıtın aynısını | 
|  | döndürür) ve ardından bu adresle ilgili olarak bir DNS sorgusu yapar. | 
|  | Bu sorgudan kaçınmanın henüz bir yolu yoktur.</p> | 
|  |  | 
|  | <p>Eğer bu sorgunun (DNS sunucusunun çökmüş olması gibi bir nedenle) | 
|  | başarısız olabileceğinden korkuyorsanız, makine ismini ve IP adresini | 
|  | <code>/etc/hosts</code> dosyanıza yazabilirsiniz (Makinenizin düzgün | 
|  | olarak açılabilmesi için zaten bu kaydı yapmış olmanız gerekir). | 
|  | Kullandığınız işletim sistemine bağlı olarak bu kaydın | 
|  | <code>/etc/resolv.conf</code> veya <code>/etc/nsswitch.conf</code> | 
|  | dosyasında bulunması gerekebilir.</p> | 
|  |  | 
|  | <p>Herhangi bir nedenle sunucunuz bir DNS sorgusu yapmıyorsa veya | 
|  | yapmamalıysa, httpd’yi <code>HOSTRESORDER</code> ortam değişkenine | 
|  | "<code>local</code>" değerini atadıktan sonra çalıştırabilirsiniz. Bu | 
|  | tamamen işletim sistemine ve kullandığınız çözümleyici kütüphanelere | 
|  | bağlıdır. Ayrıca, ortamı denetlemek için <module>mod_env</module> | 
|  | kullanmıyorsanız, CGI’ler de bundan etkilenir. En iyisi işletim | 
|  | sisteminizin SSS belgelerini ve kılavuz sayfalarını okumaktır.</p> | 
|  | </section> | 
|  |  | 
|  | <section id="tips"> | 
|  | <title>Bu Sorunlardan Kaçınmak için İpuçları</title> | 
|  |  | 
|  | <ul> | 
|  | <li><directive module="core">VirtualHost</directive> yönergelerinizde | 
|  | IP adresleri kullanınız.</li> | 
|  |  | 
|  | <li><directive module="mpm_common">Listen</directive> yönergelerinizde | 
|  | IP adresleri kullanınız.</li> | 
|  |  | 
|  | <li>Tüm sanal konakların ayrı birer <directive module="core" | 
|  | >ServerName</directive> yönergesi olsun.</li> | 
|  |  | 
|  | <li>Hiçbir sayfa sunulmayan bir <code><VirtualHost | 
|  | _default_:*></code> sanal konağınız olsun.</li> | 
|  | </ul> | 
|  | </section> | 
|  |  | 
|  | </manualpage> |