| <?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>Sanal Konak Örnekleri - 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.png" /></div> |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> |
| <div id="path"> |
| <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.4</a> > <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Sanal Konak Örnekleri</h1> |
| <div class="toplang"> |
| <p><span>Mevcut Diller: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="../tr/vhosts/examples.html" title="Türkçe"> tr </a></p> |
| </div> |
| |
| |
| <p>Bu belgede <a href="index.html">sanal konaklarla</a> ile ilgili olarak |
| karşılaşılması olası tüm senaryolara yer verilmeye çalışılmıştır. |
| Buradaki senaryolar, tek bir sunucu üzerinde <a href="name- based.html">isme dayalı</a> veya <a href="ip-based.html">IP’ye dayalı</a> |
| sanal konaklar aracılığıyla çok sayıda sitenin sunumu ile ilgilidir. |
| </p> |
| |
| </div> |
| <div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">Tek bir IP ile çok sayıda isme dayalı site</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#twoips">IP adresleri farklı çok sayıda isme dayalı site</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Aynı içeriği farklı IP adresleriyle sunmak |
| (örn., dahili ve harici ağlara)</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#port">Farklı portlarla farklı siteler</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ip">IP’ye dayalı sanal konaklar</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ipport">Hem IP’ye hem de porta dayalı sanal konaklar</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#mixed">Hem isme hem de IP‘ye dayalı sanal konaklar</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#proxy"><code>Virtualhost</code> ve |
| <code>mod_proxy</code>’nin birlikte kullanımı</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#default"><code>_default_</code> sanal konakları</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#migrate">Bir isme dayalı sanal konağı bir IP’ye dayalı |
| sanal konakla yansılamak</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#serverpath"><code>ServerPath</code> yönergesinin kullanımı</a></li> |
| </ul><h3>Ayrıca bakınız:</h3><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="purename" id="purename">Tek bir IP ile çok sayıda isme dayalı site</a></h2> |
| |
| |
| <p>Bu örnekte, makinenizin tek bir IP adresine çözümlenen çok sayıda konak |
| adına sahip olduğunu, <code>example.com</code> ve |
| <code>example.org</code> gibi farklı isimlere farklı yanıtlar vermek |
| istediğinizi varsayalım.</p> |
| |
| <div class="note"><h3>Bilginize</h3><p>Apache sunucusu üzerinde sanal konakları |
| yapılandırmakla bu konak isimleri için sihirli bir şekilde DNS |
| kayıtlarının da oluşturulmasını sağlamış olmazsınız. Bu isimler için |
| ilgili DNS kayıtlarında sizin IP adresinize çözümlenen A kayıtlarının |
| olması gerekir, yoksa sitenize kimse erişemez. Sitelere erişimi yerel |
| olarak denemek isterseniz, bu girdileri <code>hosts</code> dosyanıza |
| yazabilirsiniz. Fakat bu sadece sizin makinenizde çalışır. Yerel |
| ağınızdaki her makinenin <code>hosts</code> dosyasına bu girdileri |
| yazarak yerel ağdan erişimi bu yolla sağlayabilirsiniz ama dış ağdan |
| gelecek ziyaretçileriniz için DNS kayıtlarınızın olması şarttır.</p> |
| </div> |
| |
| <pre class="prettyprint lang-config"># Apache’nin 80. portu dinlediğinden emin olalım |
| Listen 80 |
| <VirtualHost *:80> |
| DocumentRoot "/siteler/ecom" |
| ServerName example.com |
| |
| # Diğer yönergeler, burada ... |
| </VirtualHost> |
| |
| <VirtualHost *:80> |
| DocumentRoot "/siteler/eorg" |
| ServerName example.org |
| |
| # Diğer yönergeler, burada ... |
| </VirtualHost></pre> |
| |
| |
| <p>Yıldız imleri tüm adreslerle eşleşmeyi sağladığından ana sunucu |
| (yapılandırma dosyası genelindeki yapılandırma - sunucu geneli) |
| erişilebilir olmayacaktır. Yapılandırma |
| dosyasındaki <code>ServerName example.com</code> yönergeli konak, ilk |
| sanal konak olduğundan en yüksek önceliğe sahiptir ve |
| <cite>öntanımlı</cite> veya <cite>baskın</cite> site olarak davranır. |
| Yani, hiçbir <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> yönergesi |
| ile eşleşmeyen bir istek alındığında bu istek ilk <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> yapılandırması ile |
| karşılanır.</p> |
| |
| <p>Yukarıdaki yapılandırmayı hemen hemen tüm isme dayalı sanal konaklar |
| için kullanabilirsiniz. Bu yapılandırmanın çalışmayacağı tek durum, |
| farklı içerikleri farklı IP adres veya portlardan sunma gereğiyle |
| karşılaşmaktır.</p> |
| |
| <div class="note"><h3>Bilginize</h3> |
| <p><code>*</code> yerine sisteminizdeki belli bir IP adresini |
| yazabilirsiniz. Böyle sanal konaklar sadece, HTTP isteklerinin sadece |
| belirtilen IP adreslerinden alınması için kullanilabilir.</p> |
| |
| <pre class="prettyprint lang-config">NameVirtualHost 192.168.1.22 |
| |
| <VirtualHost 192.168.1.22> |
| # vs. ... |
| </VirtualHost></pre> |
| |
| |
| <p>Bununla birlikte, IP adresinin önceden kestirilebilir olmadığı |
| sistemlerde, örneğin, hizmet sağlayıcınıza çevirmeli ağ ile bağlanıyor |
| ve onun rasgele atadığı bir IP adresi için bir devingen DNS çözümü |
| kullanıyorsanız, IP adresi değil de <code>*</code> kullanmak daha çok |
| işinize yarayacaktır. Yıldız imi her IP adresi ile eşleşeceğinden IP |
| adresiniz değişse bile bu yapılandırmayı değiştirmeden |
| kullanabilirsiniz.</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="twoips" id="twoips">IP adresleri farklı çok sayıda isme dayalı site</a></h2> |
| |
| |
| <div class="note"><h3>Bilginize</h3> |
| <p>Burada açıklanan teknikler istendiği kadar çok IP adresine |
| genişletilebilir.</p> |
| </div> |
| |
| <p>Sunucunun iki IP adresi olsun. Birinden "ana sunucu" |
| (<code>192.168.1.2</code>) diğerinden <code>example.com</code> |
| <code>192.168.2.2</code> hizmet versin. Bu arada başka sanal konakları |
| da sunabilelim istiyoruz.</p> |
| |
| <pre class="prettyprint lang-config">Listen 80 |
| |
| # Bu, 192.168.1.2 adresindeki "ana sunucu" olsun |
| ServerName sunucu.example.com |
| DocumentRoot "/siteler/anasunucu" |
| |
| <VirtualHost 192.168.1.20> |
| DocumentRoot "/siteler/ecom" |
| ServerName example.com |
| |
| # Diğer yönergeler, burada ... |
| </VirtualHost> |
| |
| <VirtualHost 192.168.1.20> |
| DocumentRoot "/siteler/eorg" |
| ServerName example.org |
| |
| # Diğer yönergeler, burada ... |
| </VirtualHost></pre> |
| |
| |
| <p><code>192.168.1.20</code> adresinden gelmeyen tüm isteklere ana sunucu |
| (<code>sunucu.example.com</code>), <code>192.168.1.20</code> adresinden |
| gelen sunucu ismi belirtmeyenler ile <code>Host:</code> başlığı |
| belirtmeyenlere ise <code>example.com</code> hizmet verecektir.</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="intraextra" id="intraextra">Aynı içeriği farklı IP adresleriyle sunmak |
| (örn., dahili ve harici ağlara)</a></h2> |
| |
| <p>Sunucu makine iki IP adresine sahip olsun. Biri iç ağa |
| (<code>192.168.1.1</code>) diğeri dış ağa (<code>172.20.30.40</code>) |
| bakıyor olsun. <code>sunucu.example.com</code> ismi dış ağda dış ağa |
| bakan IP’ye, iç ağda ise iç ağa bakan IP’ye çözümleniyor olsun.</p> |
| |
| <p>Bu durumda, sunucu hem iç hem de dış ağdan gelen isteklere aynı içerik, |
| dolayısıyla aynı <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> bölümü ile hizmet verebilir.</p> |
| |
| <pre class="prettyprint lang-config"><VirtualHost 192.168.1.1 172.20.30.40> |
| DocumentRoot "/siteler/sunucu" |
| ServerName sunucu.example.com |
| ServerAlias sunucu |
| </VirtualHost></pre> |
| |
| |
| <p>Artık, hem iç hem de dış ağdan gelen isteklere aynı |
| <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> |
| bölümünden hizmet sunulacaktır.</p> |
| |
| <div class="note"><h3>Bilginize:</h3> |
| <p>İç ağdan istek yapan biri, tam nitelenmiş konak ismi |
| <code>sunucu.example.com</code> yerine makine ismini |
| (<code>sunucu</code>) kullanabilir (<code>ServerAlias sunucu</code> |
| satırına dikkat).</p> |
| |
| <p>Ayrıca, yukarıdaki gibi iki ayrı IP adresi belirtmek yerine sadece |
| <code>*</code> belirtmekle sunucunun tüm IP adreslerine yine aynı |
| içerikle yanıt vereceğine dikkat ediniz.</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="port" id="port">Farklı portlarla farklı siteler</a></h2> |
| |
| <p>Aynı IP adresine sahip çok sayıda konak ismine sahip olduğunuzu ve |
| bunların bazılarının farklı portları kullanmasını istediğinizi |
| varsayalım. Aşağıdaki örnekte, isim eşleşmesinin, en iyi eşleşen IP |
| adresi ve port çifti saptandıktan sonra yer alması gösterilmiştir. </p> |
| |
| <pre class="prettyprint lang-config">Listen 80 |
| Listen 8080 |
| |
| <VirtualHost 172.20.30.40:80> |
| ServerName example.com |
| DocumentRoot "/siteler/ecom-80" |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.40:8080> |
| ServerName example.com |
| DocumentRoot "/siteler/ecom-8080" |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.40:80> |
| ServerName example.org |
| DocumentRoot "/siteler/eorg-80" |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.40:8080> |
| ServerName example.org |
| DocumentRoot "/siteler/eorg-8080" |
| </VirtualHost></pre> |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="ip" id="ip">IP’ye dayalı sanal konaklar</a></h2> |
| |
| <p>Sunucu makinenin, biri <code>example.com</code> adından çözümlenen |
| <code>172.20.30.40</code>, diğeri <code>example.org</code> adından |
| çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun.</p> |
| |
| <pre class="prettyprint lang-config">Listen 80 |
| |
| <VirtualHost 172.20.30.40> |
| DocumentRoot "/siteler/ecom" |
| ServerName example.com |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.50> |
| DocumentRoot "/siteler/eorg" |
| ServerName example.org |
| </VirtualHost></pre> |
| |
| |
| <p><code><VirtualHost></code> yönergelerinde belirtilmeyen |
| adreslerle yapılan isteklere (örneğin, <code>localhost</code>) sunucu |
| genelindeki yapılandırma ile ana sunucu yanıt verecektir.</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="ipport" id="ipport">Hem IP’ye hem de porta dayalı sanal konaklar</a></h2> |
| |
| |
| <p>Sunucu makinenin, biri <code>example.com</code> adından çözümlenen |
| <code>172.20.30.40</code>, diğeri <code>example.org</code> adından |
| çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun ve iki |
| konak da hem 80 hem de 8080 portlarında çalışsınlar istiyoruz.</p> |
| |
| <pre class="prettyprint lang-config">Listen 172.20.30.40:80 |
| Listen 172.20.30.40:8080 |
| Listen 172.20.30.50:80 |
| Listen 172.20.30.50:8080 |
| |
| <VirtualHost 172.20.30.40:80> |
| DocumentRoot "/siteler/ecom-80" |
| ServerName example.com |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.40:8080> |
| DocumentRoot "/siteler/ecom-8080" |
| ServerName example.com |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.50:80> |
| DocumentRoot "/siteler/eorg-80" |
| ServerName example.org |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.50:8080> |
| DocumentRoot "/siteler/eorg-8080" |
| ServerName example.org |
| </VirtualHost></pre> |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="mixed" id="mixed">Hem isme hem de IP‘ye dayalı sanal konaklar</a></h2> |
| |
| |
| <p>Bir <code>VirtualHost</code> yönergesinde belirtilen bir IP adresi başka |
| bir sanal konakta görünmüyorsa bu sankon kesinlikle IP'ye dayalı bir |
| sanal konaktır.</p> |
| |
| <pre class="prettyprint lang-config">Listen 80 |
| |
| <VirtualHost 172.20.30.40> |
| DocumentRoot "/siteler/ecom" |
| ServerName example.com |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.40> |
| DocumentRoot "/siteler/eorg" |
| ServerName example.org |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.40> |
| DocumentRoot "/siteler/enet" |
| ServerName example.net |
| </VirtualHost> |
| |
| # IP'ye dayalı |
| <VirtualHost 172.20.30.50> |
| DocumentRoot "/siteler/eedu" |
| ServerName example.edu |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.60> |
| DocumentRoot "/siteler/egov" |
| ServerName example.gov |
| </VirtualHost></pre> |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="proxy" id="proxy"><code>Virtualhost</code> ve |
| <code>mod_proxy</code>’nin birlikte kullanımı</a></h2> |
| |
| <p>Bu örnekte bir arabirimi dışarıya bakan bir makinede, başka bir |
| makinede çalışan bir sunucuya sanal konak olarak, bir vekil sunucu |
| çalıştırmak istediğimizi varsayıyoruz. <code>192.168.111.2</code> IP |
| adresli bir makinede aynı isimde bir sanal konak yapılandırılmış olsun. |
| Çok sayıda konak ismi için vekil olarak tek bir makine kullandığımızdan |
| ve konak isminin de aktarılmasını arzuladığımızdan <code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost">ProxyPreserveHost |
| On</a></code> yönergesini kullandık.</p> |
| |
| <pre class="prettyprint lang-config"><VirtualHost *:*> |
| ProxyPreserveHost On |
| ProxyPass "/" "http://192.168.111.2/" |
| ProxyPassReverse "/" "http://192.168.111.2/" |
| ServerName konak.example.com |
| </VirtualHost></pre> |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="default" id="default"><code>_default_</code> sanal konakları</a></h2> |
| |
| <h3><a name="defaultallports" id="defaultallports">Tüm portlar için <code>_default_</code></a></h3> |
| |
| |
| <p>Bir IP adresi ve port belirtilmeyen veya hiçbir sanal konağın hiçbir |
| adresi/portu ile eşleşmeyen istekleri yakalamak istersek...</p> |
| |
| <pre class="prettyprint lang-config"><VirtualHost _default_:*> |
| DocumentRoot "/siteler/default" |
| </VirtualHost></pre> |
| |
| |
| <p>Bütün portlarla eşleşen böyle bir öntanımlı sanal konağın kullanımı |
| hiçbir isteğin ana sunucuya gitmemesi sonucunu doğurur.</p> |
| |
| <p>Bir öntanımlı sanal konak, asla, isme dayalı sanal konaklar için |
| kullanılmış bir adrese/porta gönderilmiş bir isteğe hizmet sunmaz. Eğer |
| istek bilinmeyen bir <code>Host:</code> başlığına sahipse veya hiç |
| <code>Host:</code> başlığı içermiyorsa isteğe daima ilk (yapılandırma |
| dosyasındaki ilk) isme dayalı sanal konak hizmet sunar.</p> |
| |
| <p>Her isteği tek bir bilgilendirme sayfasına (veya betiğe) yönlendirmek |
| isterseniz <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code> veya |
| <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesini |
| kullanabilirsiniz.</p> |
| |
| |
| <h3><a name="defaultdifferentports" id="defaultdifferentports">Farklı portlardan <code>_default_</code></a></h3> |
| |
| |
| <p>Önceki yapılandırmaya ek olarak 80. portta ayrı bir |
| <code>_default_</code> sanal konağı kullanmak istersek...</p> |
| |
| <pre class="prettyprint lang-config"><VirtualHost _default_:80> |
| DocumentRoot "/siteler/default80" |
| # ... |
| </VirtualHost> |
| |
| <VirtualHost _default_:*> |
| DocumentRoot "/siteler/default" |
| # ... |
| </VirtualHost></pre> |
| |
| |
| <p>80. porttan hizmet sunan <code>_default_</code> sanal konağı IP adresi |
| belirtilmeyen tüm istekleri yakalar, bunu yapabilmesi için yapılandırma |
| dosyasında tüm portlara hizmet sunan benzerinden önce yer almalıdır. Bu |
| durumda ana sunucu hiçbir isteğe yanıt vermeyecektir.</p> |
| |
| |
| <h3><a name="defaultoneport" id="defaultoneport">Tek portluk <code>_default_</code></a></h3> |
| |
| |
| <p><code>_default_</code> sanal konağının sadece 80. porttan hizmet |
| sunmasını istersek...</p> |
| |
| <pre class="prettyprint lang-config"><VirtualHost _default_:80> |
| DocumentRoot "/siteler/default" |
| ... |
| </VirtualHost></pre> |
| |
| |
| <p>80. porttan gelen IP adresi belirtilmemiş isteklere |
| <code>_default_</code> sanal konağı, diğer portlardan gelen adres |
| belirtilmemiş isteklere ise ana sunucu hizmet verecektir.</p> |
| |
| <p>Bir sanal konak bildiriminde <code>*</code> kullanımı |
| <code>_default_</code> kullanımından daha yüksek öncelik sağlar.</p> |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="migrate" id="migrate">Bir isme dayalı sanal konağı bir IP’ye dayalı |
| sanal konakla yansılamak</a></h2> |
| |
| <p>İsme dayalı sanal konak örneklerinin <a href="#twoips">2. sinde</a> adı |
| geçen <code>example.org</code> bu örnekte kendi IP adresinden hizmet |
| veriyor olsun. İsme dayalı sanal konağı eski IP adresiyle kaydetmiş |
| vekiller ve isim sunucularından kaynaklanacak olası sorunlardan kaçınmak |
| için yansılama sırasında sanal konağı hem eski hem de yeni IP adresiyle |
| sunmamız lazım.</p> |
| |
| <p>Çözüm kolay, çünkü yapacağımız sadece <code>VirtualHost</code> |
| yönergesine yeni IP adresini (<code>192.168.1.2</code>) eklemek |
| olacak.</p> |
| |
| <pre class="prettyprint lang-config">Listen 80 |
| ServerName example.com |
| DocumentRoot "/siteler/ecom" |
| |
| <VirtualHost 192.168.1.20 192.168.1.2> |
| DocumentRoot "/siteler/eorg" |
| ServerName example.org |
| # ... |
| </VirtualHost> |
| |
| <VirtualHost 192.168.1.20> |
| DocumentRoot "/siteler/enet" |
| ServerName example.enet |
| ServerAlias *.example.net |
| # ... |
| </VirtualHost></pre> |
| |
| |
| <p>Böylece sanal konağa hem yeni (bir IP’ye dayalı sanal konak olarak) |
| hem de eski adresinden (bir isme dayalı sanal konak olarak) |
| erişilebilecektir.</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="serverpath" id="serverpath"><code>ServerPath</code> yönergesinin kullanımı</a></h2> |
| |
| |
| <p>İsme dayalı iki sanal konağı olan bir sunucumuz olsun. Doğru sanal |
| konağa erişebilmek için istemcinin doğru <code>Host:</code> başlığı |
| göndermesi gerekir. Eski HTTP/1.0 istemcileri böyle bir başlık |
| göndermedikleri için Apache istemcinin hangi sanal konağa erişmek |
| istediğini bilemez (ve isteğe ilk sanal konaktan hizmet sunar). Daha iyi |
| bir geriye uyumluluk sağlamak için isme dayalı sanal konağa bir önek |
| bağlantısı içeren bir bilgilendirme sayfası sunmak üzere yeni bir sanal |
| konak oluşturabiliriz.</p> |
| |
| <pre class="prettyprint lang-config"><VirtualHost 172.20.30.40> |
| # ilk sanal konak |
| DocumentRoot "/siteler/baska" |
| RewriteEngine On |
| RewriteRule "." "/siteler/baska/index.html" |
| # ... |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.40> |
| DocumentRoot /siteler/baska/bir |
| ServerName "bir.baska.tld" |
| ServerPath "/bir/" |
| RewriteEngine On |
| RewriteRule "^(/bir/.*) /siteler/baska$1" |
| # ... |
| </VirtualHost> |
| |
| <VirtualHost 172.20.30.40> |
| DocumentRoot "/siteler/baska/iki" |
| ServerName iki.baska.tld |
| ServerPath "/iki/" |
| RewriteEngine On |
| RewriteRule "^(/iki/.*)" "/siteler/baska$1" |
| # ... |
| </VirtualHost></pre> |
| |
| |
| <p><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> yönergesinden dolayı |
| <code>http://bir.baska.tld/bir/</code> şeklinde yapılan isteklere |
| <em>daima</em> “bir” sanal konağı hizmet sunacaktır.</p> |
| |
| <p><code>http://bir.baska.tld/</code> şeklinde yapılan isteklere ise |
| istemcinin doğru <code>Host:</code> başlığı göndermesi şartıyla |
| “bir” sanal konağı hizmet sunacaktır. İstemci, bir |
| <code>Host:</code> başlığı göndermediği takdirde ilk konaktan bir |
| bilgilendirme sayfası alacaktır.</p> |
| |
| <p>Yalnız buradaki bir tuhaflığa dikkat edin: Eğer istemci bir |
| <code>Host:</code> başlığı göndermeden |
| <code>http://iki.baska.tld/bir/</code> şeklinde bir istek yaparsa bu |
| isteğe de “bir” sanal konağı hizmet sunacaktır.</p> |
| |
| <p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesi, bir |
| istemcinin, bir URL öneki belirtsin ya da belirtmesin doğru |
| <code>Host:</code> başlığı gönderdiğinden emin olmak için |
| kullanılmıştır.</p> |
| |
| </div></div> |
| <div class="bottomlang"> |
| <p><span>Mevcut Diller: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="../tr/vhosts/examples.html" title="Türkçe"> tr </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&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/vhosts/examples.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 2019 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> |