562 lines
26 KiB
XML
562 lines
26 KiB
XML
<?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">Yorumlar</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">Yorumlar</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 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 Libera.chat, or sent to our <a href="https://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 2024 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> |