mirror of
https://github.com/apache/httpd.git
synced 2025-11-11 02:42:23 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1344683 13f79535-47bb-0310-9956-ffa450edef68
212 lines
10 KiB
XML
212 lines
10 KiB
XML
<?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: 1301398:1344675 (outdated) -->
|
||
<!-- =====================================================
|
||
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="name-based.xml.meta">
|
||
<parentdocument href="./">Sanal Konaklar</parentdocument>
|
||
<title>İsme Dayalı Sanal Konaklar</title>
|
||
|
||
<summary>
|
||
<p>Bu belgede isme dayalı sanal konakların ne zaman, nasıl kullanılacakları
|
||
açıklanmıştır.</p>
|
||
</summary>
|
||
|
||
<seealso><a href="ip-based.html">IP Adresine Dayalı Sanal Konaklar</a></seealso>
|
||
<seealso><a href="details.html">Konak Eşlemenin Derinliğine İncelenmesi</a>
|
||
</seealso>
|
||
<seealso><a href="mass.html">Devingen olarak Yapılandırılan Kütlesel Sanal
|
||
Barındırma</a></seealso>
|
||
<seealso><a href="examples.html">Çok kullanılan sanal konak yapılandırma
|
||
örnekleri</a></seealso>
|
||
|
||
<section id="namevip"><title>İsme dayalı ve IP’ye dayalı Sanal Konaklar</title>
|
||
|
||
<p><a href="ip-based.html">IP’ye dayalı sanal konaklar</a>da sunulacak
|
||
sanal konağı doğru tespit edebilmek için bağlantının yapıldığı IP
|
||
adresine bakılır. Bu bakımdan her konak için ayrı bir IP adresine
|
||
gereksinim vardır.</p>
|
||
|
||
<p>İsme dayalı sanal konaklarda ise sunucu, istemcinin HTTP başlığının bir
|
||
parçası olarak gönderdiği konak adını kullanır. Bu teknikte aynı IP
|
||
adresini çok sayıda farklı konak kullanabilir.</p>
|
||
|
||
<p>İsme dayalı sanal barındırma nispeten daha kolaydır, çünkü her konak
|
||
ismini doğru IP adresiyle eşlemek için DNS sunucunuzu yapılandırdıktan
|
||
sonra Apache HTTP sunucusunu farklı konak isimlerini tanıyacak şekilde
|
||
yapılandırmanız yeterli olur. İsme dayalı sanal barındırma ayrıca zaten
|
||
kıt olan IP adreslerine talebi de azaltır. Bu nedenle, IP’ye dayalı sanal
|
||
konakları kullanmanızı gerektiren donanım kullanmadıkça isme dayalı
|
||
sanal konaklar kullanmalısınız. İstemci uyumuna bağlı IP’ye dayalı
|
||
sanal barındırma için eskiden varolan sebepler genel amaçlı bir HTTP
|
||
sunucusu için artık uygulanabilir değildir.</p>
|
||
|
||
<p>İsme dayalı sanal barındırma, IP'ye dayalı sanal barındırma seçim
|
||
algoritmasını kullanmaz, yani uygun sunucu ismini arama işlemi sadece en
|
||
iyi IP'ye dayalı adrese sahip sanal konaklar arasında gerçekleşir.</p>
|
||
|
||
</section>
|
||
|
||
<section id="alg">
|
||
<title>Sunucu isme dayalı sanal konaklardan uygun olanını nasıl seçer</title>
|
||
|
||
<p>İsme dayalı sanal konak çözümlemesinin ilk adımının IP'ye dayalı
|
||
çözümleme olduğunun anlaşılması çok önemlidir. İsme dayalı sanal konak
|
||
çözümlemesi en uygun isme dayalı sanal konağı seçerken önce en iyi IP'ye
|
||
dayalı eşleşme adaylarının sayısını azaltır, sonra bunlar arasından en
|
||
uygununu seçer. Tüm <code>VirtualHost</code> yönergelerinde IP adresi
|
||
yerine joker kullanımı bu IP'ye dayalı eşlemeyi yersiz kılar.</p>
|
||
|
||
<p>Bir istek geldiğinde, sunucu, istekte kullanılan IP adresi ve portu ile
|
||
en iyi eşleşen <directive type="section" module="core"
|
||
>VirtualHost</directive> bileşenini bulur. Bu IP adresi ve port çifti ile
|
||
eşleşen birden fazla sanal konak varsa, Apache httpd istekte kullanılan
|
||
sunucu ismini <directive module="core" >ServerName</directive> ve
|
||
<directive module="core">ServerAlias</directive> yönergelerindeki
|
||
isimlerle karşılaştırır.</p>
|
||
|
||
<section id="defaultvhost">
|
||
<title>Bir IP adresi ve port çifti için öntanımlı isme dayalı sankon</title>
|
||
<p><directive module="core" >ServerName</directive> ve
|
||
<directive module="core">ServerAlias</directive> yönergelerinde bir
|
||
eşleşme bulunamazsa, Apache httpd bu çift ile eşleşen <strong>sanal
|
||
konaklar listesindeki ilk sanal konağı</strong> kullanır.</p>
|
||
</section>
|
||
</section>
|
||
|
||
<section id="using"><title>İsme Dayalı Sanal Konakların Kullanımı</title>
|
||
|
||
<related>
|
||
<modulelist>
|
||
<module>core</module>
|
||
</modulelist>
|
||
|
||
<directivelist>
|
||
<directive module="core">DocumentRoot</directive>
|
||
<directive module="core">ServerAlias</directive>
|
||
<directive module="core">ServerName</directive>
|
||
<directive module="core" type="section">VirtualHost</directive>
|
||
</directivelist>
|
||
</related>
|
||
|
||
<p>İlk adım sunacağınız her konak için ayrı bir <directive type="section"
|
||
module="core">VirtualHost</directive> bölümü oluşturmaktır. Her
|
||
<directive type="section" module="core" >VirtualHost</directive> bölümü
|
||
içinde sunulan konağı belirtmek üzere en azından bir adet <directive
|
||
module="core">ServerName</directive> yönergesine ve konak içeriğinin
|
||
dosya sisteminde bulunduğu yeri gösteren bir <directive
|
||
module="core">DocumentRoot</directive> yönergesine ihtiyacınız
|
||
olacaktır.</p>
|
||
|
||
<note><title>Ana konağı unutmayın</title>
|
||
<p>Mevcut <directive type="section" module="core">VirtualHost</directive>
|
||
yönergelerinin hiçbiriyle eşleşmeyen bir istek için, sunucu veya konak
|
||
ismine bakılmaksızın genel sunucu yapılandırmanız kullanılır.</p>
|
||
|
||
<p>Mevcut sitenize isme dayalı bir sanal konak eklerseniz ve bu sanal
|
||
konak ana sunucunun IP adresi ve portuna sahipse, ana sunucuya yapılan
|
||
istekler için bu sanal konak kullanılır. Bu bakımdan, <directive
|
||
module="core">ServerName</directive> yönergesi ana sunucununki ile aynı
|
||
olan bir <a href="#defaultvhost">öntanımlı sanal konak</a> oluşturmak
|
||
akıllıca olacaktır. Aynı arayüz ve portu kullanan fakat farklı
|
||
yapılandırmalara sahip diğer alan isimlerinin sanal konakları (yani
|
||
öntanımlı olmayanlar) bu öntanımlı sanal konağın sonrasına
|
||
yerleştirilmelidir.</p>
|
||
</note>
|
||
|
||
<p>Örnek olarak, <code>site1.example.com</code> adresinden sitenizi
|
||
sunmakta olduğunuzu ve bunun yanına aynı IP adresini kullanan
|
||
<code>site2.example.com</code> sanal konağını eklemek istediğinizi
|
||
varsayalım. Bunun için <code>httpd.conf</code> dosyanıza basitçe şu
|
||
satırları ekleyebilirsiniz:</p>
|
||
|
||
<example>
|
||
<VirtualHost *:80><br />
|
||
<indent>
|
||
#İlk sanal konak aynı zamanda *:80 için de öntanımlıdır.
|
||
ServerName site1.example.com<br />
|
||
ServerAlias example.com<br />
|
||
DocumentRoot /siteler/site1<br />
|
||
</indent>
|
||
</VirtualHost><br />
|
||
<br />
|
||
<VirtualHost *:80><br />
|
||
<indent>
|
||
ServerName site2.example.com<br />
|
||
DocumentRoot /siteler/site2<br />
|
||
</indent>
|
||
</VirtualHost><br />
|
||
</example>
|
||
|
||
<p>İsterseniz, <directive type="section" module="core"
|
||
>VirtualHost</directive> yönergesinde argüman olarak <code>*</code>
|
||
yerine doğrudan bir IP adresi belirtebilirsiniz. Hatta, daha sonra, isme
|
||
dayalı sanal konakları bir IP adresinden ve IP’ye dayalı olanları veya
|
||
isme dayalı diğer bir sanal konak grubunu diğer IP adreslerinden sunmak
|
||
isteyebilirsiniz.</p>
|
||
|
||
<p>Çoğu sunucunun birden fazla isim ile erişilebilir olması istenir. Bu,
|
||
<directive type="section" module="core">VirtualHost</directive> bölümü
|
||
içine bir <directive module="core">ServerAlias</directive> yönergesi
|
||
yerleştirmek suretiyle mümkün olur. Örneğin yukarıdaki örnekte,
|
||
kullanıcıların aynı siteye farklı isimlerle erişmelerini mümkün kılmak
|
||
için bölüm içine şu satırı ekleyebilirsiniz:</p>
|
||
|
||
<example>
|
||
ServerAlias example.com *.example.com
|
||
</example>
|
||
|
||
<p>Böylece <code>example.com</code> alanındaki tüm konaklar için gelen
|
||
isteklere <code>www.example.com</code> sanal konağından hizmet sunulmuş
|
||
olur. Konak isimleriyle eşleşmek üzere dosya ismi kalıp karakterleri
|
||
<code>*</code> ve <code>?</code> kullanılabilir. Şüphesiz bu isimleri
|
||
sırf <directive module="core">ServerName</directive> veya
|
||
<code>ServerAlias</code> yönergesinde belirtmiş olmakla bu isimleri
|
||
erişilebilir kılamazsınız. Öncelikle, bu isimleri sunucunuzdaki IP
|
||
adresleriyle eşlemek üzere yapılandıracağınız bir DNS sunucunuz
|
||
olmalıdır.</p>
|
||
|
||
<p>İsme dayalı sanal konaklardan en iyi eşleşme kümesinde olanlar
|
||
yapılandırmada göründükleri sıraya göre işleme sokulur. Joker
|
||
kullanımları arasında fark gözetilmeksizin <directive module="core"
|
||
>ServerName</directive> veya <directive module="core"
|
||
>ServerAlias</directive> yönergesi eşleşen ilk sanal konak
|
||
kullanılır.</p>
|
||
|
||
<p>Son olarak, sanal konak yapılandırmanıza, <directive type="section"
|
||
module="core">VirtualHost</directive> bölümlerinin içine başka yönergeler
|
||
yerleştirerek ince ayar çekebilirsiniz. Çoğu yönerge bu bölümlere
|
||
yerleştirilebilir ve sadece o sanal konakla ilgili yapılandırmayı
|
||
değiştirmek için kullanılabilir. Belli bir yönergenin sanal konak
|
||
bölümlerinde kullanılıp kullanılmayacağını yönergenin açıklamasında <a
|
||
href="../mod/directive-dict.html#Context">Bağlam</a> satırına bakarak
|
||
öğrenebilirsiniz. <em>Ana sunucu bağlamındaki</em> (<directive
|
||
type="section" module="core">VirtualHost</directive> bölümleri dışındaki)
|
||
yapılandırma yönergelerinden sadece sanal konak bölümlerinde geçersiz
|
||
kılınmamış olanlar kullanılacaktır.</p>
|
||
|
||
</section>
|
||
|
||
</manualpage>
|