<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Adresleri ve Portları Dinleme - Apache HTTP Sunucusu Sürüm 2.4</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="./style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<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>
<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<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></div><div id="page-content"><div id="preamble"><h1>Adresleri ve Portları Dinleme</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="./de/bind.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/bind.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/bind.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/bind.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/bind.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>

    <p>Apache HTTPD sunucusunun belli adresleri ve portları dinlemek üzere
    yapılandırılması.</p>
  </div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Genel Bakış</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#ipv6">IPv6 Adreslerin Durumu</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#protocol">Protokolü Listen ile Belirtme</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Sanal Konaklarla Nasıl Çalışır?</a></li>
</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="vhosts/">Sanal Konaklar</a></li><li><a href="dns-caveats.html">DNS Konuları</a></li></ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="overview" id="overview">Genel Bakış</a></h2>
    

    <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li><li><code class="module"><a href="./mod/mpm_common.html">mpm_common</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code></li></ul></td></tr></table>


    <p>httpd başlatıldığında yerel makinedeki bazı adres ve portları kendine
      bağlar ve gelecek istekleri bekler. Öntanımlı olarak makine üzerindeki
      tüm adresleri dinler. Bununla birlikte, belli portları veya sadece
      seçilmiş bazı adresleri ya da her ikisini de dinlemesi için bunun
      belirtilmesi gerekebilir. Bu çoğunlukla, httpd’nin farklı IP
      adreslerine, konak isimlerine ve portlarına nasıl yanıt vereceğinin
      belirlendiği <a href="vhosts/">sanal konak</a> özelliği ile birlikte
      yürür.</p>

    <p><code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> yönergesi sunucuya
      gelen istekleri sadece belli port(lar)dan veya belli adres ve port
      birleşimlerinden kabul etmesini söyler. <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> yönergesinde sadece port
      numarası belirtilmişse sunucu tüm arabirimlerin belirtilen portunu
      dinleyecektir. Portla birlikte bir IP adresi de belirtilmişse sunucu
      belirtilen portu ve arabirimi dinleyecektir. Çok sayıda adres ve portu
      dinlemek için çok sayıda <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> yönergesi kullanılabilir. Sunucu
      böyle bir durumda belirtilen bütün adres ve portlardan gelen isteklere
      yanıt verecektir.</p>

    <p>Örneğin, sunucunun hem 80 portundan hem de 8000 portundan gelen
      bağlantıları kabul etmesini sağlamak için,</p>

    <div class="example"><pre class="prettyprint lang-config">Listen 80
Listen 8000</pre>
</div>

    <p>yapılandırmasını kullanabilirsiniz. Sunucunun 80 portuna gelen
      bağlantıları bir arabirimden 8000 portuna gelenleri ise başka bir
      arabirimden kabul etmesini sağlamak için ise,</p>

    <div class="example"><pre class="prettyprint lang-config">Listen 192.0.2.1:80
Listen 192.0.2.5:8000</pre>
</div>

    <p>yapılandırmasını kullanabilirsiniz. IPv6 adresleri aşağıdaki örnekteki
      gibi köşeli ayraçlar içine alınarak belirtilmelidir:</p>

    <div class="example"><pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre>
</div>

    <div class="warning">
      <p>Bir <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> yönergesinin
      aynısının tekrarı sunucunun başlatılmasını engelleyen ölümcül bir hatayla
      sonuçlanacaktır.</p>

      <div class="example"><p><code>
      (48)Address already in use: make_sock: could not bind to address [::]:80
      </code></p></div>

      <p>Sorun giderme ile ilgili ipuçları için
      <a href="http://wiki.apache.org/httpd/CouldNotBindToAddress">wiki
      belgesine</a> bakınız.</p>
</div>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="ipv6" id="ipv6">IPv6 Adreslerin Durumu</a></h2>
    

    <p>IPv6’yı gerçekleyen platformların sayısı giderek artmaktadır. Bu
      platformların çoğunda <a class="glossarylink" href="./glossary.html#apr" title="sözlüğe bakınız">APR</a>, httpd’nin IPv6
      soketleri ayırmasını mümkün kılarak IPv6’yı desteklemekte ve IPv6
      üzerinden gönderilmiş istekleri elde etmektedir.</p>

    <p>httpd yöneticilerinin kafasını karıştırıran tek şey IPv6 soketlerin
      hem IPv4 hem de IPv6 bağlantılarını kabul edip etmeyeceğidir. IPv4
      bağlantılarını kabul eden IPv6 soketleri IPv4 eşlemli IPv6 adresleri
      kullanırlar. Bu çoğu sistemde öntanımlı olarak böyleyken, FreeBSD,
      NetBSD ve OpenBSD’de sistem geneline uygulanan kurallar gereğince
      öntanımlı olarak buna izin verilmez; bu sistemlerde özel bir
      <code class="program"><a href="./programs/configure.html">configure</a></code> parametresi ile <code>httpd</code>’nin
      davranışı değiştirilebilir.</p>

    <p>Diğer taraftan, Linux ve Tru64 gibi bazı platformlarda hem IPv4 hem de
      IPv6 adresleri kabul etmenin <strong>tek yolu</strong> eşlemli adresler
      kullanmaktır. <code>httpd</code>’nin IPv4 ve IPv6 adresleri, IPv4 eşlemli
      IPv6 adreslerin kullanımını gerektiren en az sayıda soketle kabul etmesini
      istiyorsanız, <code class="program"><a href="./programs/configure.html">configure</a></code> betiğine
      <code>--enable-v4-mapped</code> seçeneğini belirtiniz.</p>

    <p><code>--enable-v4-mapped</code> seçeneği, FreeBSD, NetBSD ve OpenBSD
      hariç tüm platformlarda öntanımlıdır. Muhtemelen siz de
      <code>httpd</code>’nin böyle derlenmesini isterdiniz.</p>

    <p>Platformunuzun ve APR’nin neyi desteklediğine bakmaksızın
      <code>httpd</code>’nin sadece IPv4 adresleri kabul etmesini istiyorsanız,
      tüm <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> yönergelerinde
      örnekteki gibi IPv4 adresleri belirtiniz:</p>

    <div class="example"><pre class="prettyprint lang-config">Listen 0.0.0.0:80
Listen 192.0.2.1:80</pre>
</div>

    <p>Platformunuz IPv4 ve IPv6 adresleri ayrı soketlerden kabul ediyorsa ve
      <code>httpd</code>’nin de buna uygun davranmasını (yani IPv4 eşlemli IPv6
      adreslerin iptalini)  istiyorsanız <code class="program"><a href="./programs/configure.html">configure</a></code>
      betiğine <code>--disable-v4-mapped</code> seçeneğini belirtiniz. Bu
      seçenek FreeBSD, NetBSD ve OpenBSD’de öntanımlıdır.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="protocol" id="protocol">Protokolü Listen ile Belirtme</a></h2>
    
    <p><code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> yönergesinin isteğe
      bağlı ikinci değiştirgesi <var>protokol</var> çoğu yapılandırmada gerekli
      olmaz. Belirtilmediği takdirde, <code>https</code> için 443,
      <code>http</code> için ise diğer bütün portlar öntanımlıdır. Protokol,
      isteğin hangi modül tarafından işleneceğini ve <code class="directive"><a href="./mod/core.html#acceptfilter">AcceptFilter</a></code> yönergesi ile uygulanacak
      protokole özgü en iyilemeleri belirlemekte kullanılır.</p>

    <p>Sadece standartdışı bir port kullanmak isterseniz protokolü belirtmeniz
      gerekir. Örneğin, bir<code>https</code> sitesini port 8443 üzerinde
      çalıştırmak isterseniz:</p>

    <div class="example"><pre class="prettyprint lang-config">Listen 192.170.2.1:8443 https</pre>
</div>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="virtualhost" id="virtualhost">Sanal Konaklarla Nasıl Çalışır?</a></h2>
    

    <p><code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> yönergesi sanal
      konaklar için gerçeklenmemiştir; sadece ana sunucuya hangi adresleri ve
      portları dinleyeceğini söyler. Hiç <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> yönergesi kullanılmamışsa sunucu
      kabul edilen tüm isteklere aynı şekilde davranacaktır. Eğer bir veya
      daha fazla adres ve port için farklı bir davranış belirtmek
      istiyorsanız <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> kullanabilirsiniz. Bir sanal
      konağı gerçeklemek için önce sunucunun sanal konak için kullanacağı
      adres ve portu dinleyeceğini belirtmek gerekir. Bundan sonra bu sanal
      konağın davranışını ayarlamak üzere belirtilen adres ve port için bir
      <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümü
      oluşturulmalıdır. Yalnız dikkat edin, eğer <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> için belirtilen adres ve port
      sunucu tarafından dinlenmiyorsa ona erişemezsiniz.</p>
  </div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="./de/bind.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/bind.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/bind.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/bind.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/bind.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/bind.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2015 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>
<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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>