From cc40af334e619bb549038238507407866f774f8f Mon Sep 17 00:00:00 2001 From: hongbotian Date: Mon, 30 Nov 2015 01:35:09 -0500 Subject: upload apache JIRA: BOTTLENECK-10 Change-Id: I67eae31de6dc824097dfa56ab454ba36fdd23a2c Signed-off-by: hongbotian --- .../apache2/manual/vhosts/examples.html.tr.utf8 | 641 +++++++++++++++++++++ 1 file changed, 641 insertions(+) create mode 100644 rubbos/app/apache2/manual/vhosts/examples.html.tr.utf8 (limited to 'rubbos/app/apache2/manual/vhosts/examples.html.tr.utf8') diff --git a/rubbos/app/apache2/manual/vhosts/examples.html.tr.utf8 b/rubbos/app/apache2/manual/vhosts/examples.html.tr.utf8 new file mode 100644 index 00000000..044bf8e6 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/examples.html.tr.utf8 @@ -0,0 +1,641 @@ + + + +Sanal Konak Örnekleri - Apache HTTP Sunucusu + + + + + +
<-
+

Sanal Konak Örnekleri

+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ + +

Bu belgede sanal konaklarla ile ilgili olarak karşılaşılması olası tüm + senaryolara yer verilmeye çalışılmıştır. Buradaki senaryolar, tek bir + sunucu üzerinde isme dayalı veya IP’ye dayalı sanal konaklar aracılığıyla çok + sayıda sitenin sunumu ile ilgilidir. +

+ +
+ +
top
+
+

Tek bir IP ile çok sayıda isme dayalı site

+ + +

Bu örnekte, makinenizin tek bir IP adresine sahip olduğunu ve bu + makineye mesela.dom ve faraza.dom şeklinde + (DNS A kayıtları sayesinde) farklı isimlerle erişilebildiğini + varsayalım.

+ +

Bilginize

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 hosts dosyanıza + yazabilirsiniz. Fakat bu sadece sizin makinenizde çalışır. Yerel + ağınızdaki her makinenin hosts 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.

+
+ +

Sunucu yapılandırması

+ + # Apache’nin 80. portu dinlediğinden emin olalım
+ Listen 80
+
+ # Sanal konak istekleri için bütün IP adresleri dinlensin.
+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + DocumentRoot /siteler/mesela
+ ServerName mesela.dom
+
+ # Diğer yönergeler, burada ...
+
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ + DocumentRoot /siteler/faraza
+ ServerName faraza.dom
+
+ # Diğer yönergeler, burada ...
+
+
+ </VirtualHost> +

+ +

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. mesela.dom yapılandırma + dosyasındaki ilk sanal konak olduğundan en yüksek önceliğe sahiptir ve + öntanımlı veya baskın site olarak davranır. + Yani, hiçbir ServerName yönergesi ile eşleşmeyen bir istek + alındığında bu istek ilk VirtualHost yapılandırması ile + karşılanır.

+ +

Bilginize

+

İsterseniz, * yerine kendi IP adresinizi yazabilirsiniz. + Ancak bu durumda bunu hem VirtualHost hem de + NameVirtualHost için yapmalısınız:

+ +

+ NameVirtualHost 192.168.1.22
+
+ <VirtualHost 192.168.1.22>
+ # vs. ... +

+ +

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 * 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.

+
+ +

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 adreslerinden sunma gereğiyle + karşılaşmaktır.

+ +
top
+
+

IP adresleri farklı çok sayıda isme dayalı site

+ + +

Bilginize

+

Burada açıklanan teknikler istendiği kadar çok IP adresine + genişletilebilir.

+
+ +

Sunucunun iki IP adresi olsun. Birinden "ana sunucu" + (192.168.1.2) diğerinden mesela.dom + 192.168.2.2 hizmet versin. Bu arada başka sanal konakları + da sunabilelim istiyoruz.

+ +

Sunucu yapılandırması

+ + Listen 80
+
+ # Bu, 192.168.1.2 adresindeki "ana sunucu" olsun
+ ServerName sunucu.faraza.dom
+ DocumentRoot /siteler/anasunucu
+
+ # Burası da diğer adres için
+ NameVirtualHost 192.168.2.2
+
+ <VirtualHost 192.168.2.2>
+ + DocumentRoot /siteler/mesela
+ ServerName mesela.dom
+
+ # Diğer yönergeler, burada ...
+
+
+ </VirtualHost>
+
+ <VirtualHost 192.168.2.2>
+ + DocumentRoot /siteler/falanca
+ ServerName falanca.dom
+
+ # Diğer yönergeler, burada ...
+
+
+ </VirtualHost> +

+ +

192.168.2.2 adresinden gelmeyen tüm isteklere ana sunucu + (sunucu.faraza.dom), 192.168.2.2 adresinden + gelen sunucu ismi belirtmeyenler ile Host: başlığı + belirtmeyenlere ise mesela.dom hizmet verecektir.

+ +
top
+
+

Aynı içeriği farklı IP adresleriyle sunmak + (örn., dahili ve harici ağlara)

+ +

Sunucu makine iki IP adresine sahip olsun. Biri iç ağa + (192.168.1.1) diğeri dış ağa (172.20.30.40) + bakıyor olsun. sunucu.mesela.dom ismi dış ağda dış ağa + bakan IP’ye, iç ağda ise iç ağa bakan IP’ye çözümleniyor olsun.

+ +

Bu durumda, sunucu hem iç hem de dış ağdan gelen isteklere aynı içerik, + dolayısıyla aynı VirtualHost bölümü ile hizmet + verebilir.

+ +

Sunucu yapılandırması

+ + NameVirtualHost 192.168.1.1
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 192.168.1.1 172.20.30.40>
+ + DocumentRoot /siteler/sunucu
+ ServerName sunucu.mesela.dom
+ ServerAlias sunucu
+
+ </VirtualHost> +

+ +

Artık, hem iç hem de dış ağdan gelen isteklere aynı + VirtualHost bölümünden hizmet sunulacaktır.

+ +

Bilginize:

+

İç ağdan istek yapan biri, tam nitelenmiş konak ismi + sunucu.mesela.dom yerine makine ismini + (sunucu) kullanabilir (ServerAlias sunucu + satırına dikkat).

+ +

Ayrıca, yukarıdaki gibi iki ayrı IP adresi belirtmek yerine sadece + * belirtmekle sunucunun tüm IP adreslerine yine aynı + içerikle yanıt vereceğine dikkat ediniz.

+
+ +
top
+
+

Farklı portlarla farklı siteler

+ +

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. NameVirtualHost + yönergesi ile port tanımlamak suretiyle bunu mümkün kılabilirsiniz. + NameVirtualHost isim:port tanımı yapmadan + veya bunun yerine Listen + kullanarak VirtualHost isim:port kullanmaya + kalkışırsanız, yapılandırmanız çalışmayacaktır.

+ +

Sunucu yapılandırması

+ + Listen 80
+ Listen 8080
+
+ NameVirtualHost 172.20.30.40:80
+ NameVirtualHost 172.20.30.40:8080
+
+ <VirtualHost 172.20.30.40:80>
+ + ServerName mesela.dom
+ DocumentRoot /siteler/mesela-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + ServerName mesela.dom
+ DocumentRoot /siteler/mesela-8080
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:80>
+ + ServerName faraza.dom
+ DocumentRoot /siteler/faraza-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + ServerName faraza.dom
+ DocumentRoot /siteler/faraza-8080
+
+ </VirtualHost> +

+ +
top
+
+

IP’ye dayalı sanal konaklar

+ +

Sunucu makinenin, biri mesela.dom adından çözümlenen + 172.20.30.40, diğeri faraza.dom adından + çözümlenen 172.20.30.50 diye iki IP adresi olsun.

+ +

Sunucu yapılandırması

+ + Listen 80
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /siteler/mesela
+ ServerName mesela.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /siteler/faraza
+ ServerName faraza.dom
+
+ </VirtualHost> +

+ +

<VirtualHost> yönergelerinde belirtilmeyen + adreslerle yapılan isteklere (örneğin, localhost) sunucu + genelindeki yapılandırma ile ana sunucu yanıt verecektir.

+
top
+
+

Hem IP’ye hem de porta dayalı sanal konaklar

+ + +

Sunucu makinenin, biri mesela.dom adından çözümlenen + 172.20.30.40, diğeri faraza.dom adından + çözümlenen 172.20.30.50 diye iki IP adresi olsun ve iki + konak da hem 80 hem de 8080 portlarında çalışsınlar istiyoruz.

+ +

Sunucu yapılandırması

+ + 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/mesela-80
+ ServerName mesela.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + DocumentRoot /siteler/mesela-8080
+ ServerName mesela.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:80>
+ + DocumentRoot /siteler/faraza-80
+ ServerName faraza.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:8080>
+ + DocumentRoot /siteler/faraza-8080
+ ServerName faraza.dom
+
+ </VirtualHost> +

+ +
top
+
+

Hem isme hem de IP‘ye dayalı sanal konaklar

+ + +

Bazı adreslerde isme dayalı, bazılarında da IP’ye dayalı sanal konaklar + çalışsın istersek...

+ +

Sunucu yapılandırması

+ + Listen 80
+
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /siteler/mesela
+ ServerName mesela.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /siteler/faraza
+ ServerName faraza.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /siteler/falanca
+ ServerName falanca.dom
+
+ </VirtualHost>
+
+ # IP-based
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /siteler/filanca
+ ServerName filanca.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.60>
+ + DocumentRoot /siteler/fesmekan
+ ServerName fesmekan.dom
+
+ </VirtualHost> +

+ +
top
+
+

Virtualhost ve + mod_proxy’nin birlikte kullanımı

+ +

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. 192.168.111.2 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 ProxyPreserveHost On yönergesini + kullandık.

+ +

+ <VirtualHost *:*>
+ + ProxyPreserveHost On
+ ProxyPass / http://192.168.111.2/
+ ProxyPassReverse / http://192.168.111.2/
+ ServerName konak.mesela.dom
+
+ </VirtualHost> +

+ +
top
+
+

_default_ sanal konakları

+ +

Tüm portlar için _default_

+ + +

Bir IP adresi ve port belirtilmeyen veya hiçbir sanal konağın hiçbir + adresi/portu ile eşleşmeyen istekleri yakalamak istersek...

+ +

Sunucu yapılandırması

+ + + <VirtualHost _default_:*>
+ + DocumentRoot /siteler/default
+
+ </VirtualHost> +

+ +

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.

+ +

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 Host: başlığına sahipse veya hiç + Host: başlığı içermiyorsa isteğe daima ilk (yapılandırma + dosyasındaki ilk) isme dayalı sanal konak hizmet sunar.

+ +

Her isteği tek bir bilgilendirme sayfasına (veya betiğe) yönlendirmek + isterseniz AliasMatch veya + RewriteRule yönergesini + kullanabilirsiniz.

+ + +

Farklı portlardan _default_

+ + +

Önceki yapılandırmaya ek olarak 80. portta ayrı bir + _default_ sanal konağı kullanmak istersek...

+ +

Sunucu yapılandırması

+ + + <VirtualHost _default_:80>
+ + DocumentRoot /siteler/default80
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost _default_:*>
+ + DocumentRoot /siteler/default
+ # ...
+
+ </VirtualHost> +

+ +

80. porttan hizmet sunan _default_ 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.

+ + +

Tek portluk _default_

+ + +

_default_ sanal konağının sadece 80. porttan hizmet + sunmasını istersek...

+ +

Sunucu yapılandırması

+ + + <VirtualHost _default_:80>
+ DocumentRoot /siteler/default
+ ...
+ </VirtualHost> +

+ +

80. porttan gelen IP adresi belirtilmemiş isteklere + _default_ sanal konağı, diğer portlardan gelen adres + belirtilmemiş isteklere ise ana sunucu hizmet verecektir.

+ + +
top
+
+

Bir isme dayalı sanal konağı bir IP’ye dayalı + sanal konakla yansılamak

+ +

İsme dayalı sanal konak örneklerinin 2. sinde adı + geçen falanca.dom 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.

+ +

Çözüm kolay, çünkü yapacağımız sadece VirtualHost + yönergesine yeni IP adresini (192.168.2.2) eklemek olacak.

+ +

Sunucu yapılandırması

+ + + Listen 80
+ ServerName mesela.dom
+ DocumentRoot /siteler/mesela
+
+ <VirtualHost 192.168.1.2>
+
+ <VirtualHost 192.168.1.2 192.168.2.2>
+ + DocumentRoot /siteler/falanca
+ ServerName falanca.dom
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 192.168.1.2>
+ + DocumentRoot /siteler/faraza
+ ServerName faraza.dom
+ ServerAlias *.faraza.dom
+ # ...
+
+ </VirtualHost> +

+ +

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.

+ +
top
+
+

ServerPath yönergesinin kullanımı

+ + +

İsme dayalı iki sanal konağı olan bir sunucumuz olsun. Doğru sanal + konağa erişebilmek için istemcinin doğru Host: 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.

+ +

Sunucu yapılandırması

+ + + NameVirtualHost 172.20.30.40
+
+ <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> +

+ +

ServerPath yönergesinden dolayı + http://bir.baska.tld/bir/ şeklinde yapılan isteklere + daima “bir” sanal konağı hizmet sunacaktır.

+ +

http://bir.baska.tld/ şeklinde yapılan isteklere ise + istemcinin doğru Host: başlığı göndermesi şartıyla + “bir” sanal konağı hizmet sunacaktır. İstemci, bir + Host: başlığı göndermediği takdirde ilk konaktan bir + bilgilendirme sayfası alacaktır.

+ +

Yalnız buradaki bir tuhaflığa dikkat edin: Eğer istemci bir + Host: başlığı göndermeden + http://iki.baska.tld/bir/ şeklinde bir istek yaparsa bu + isteğe de “bir” sanal konağı hizmet sunacaktır.

+ +

RewriteRule yönergesi, bir + istemcinin, bir URL öneki belirtsin ya da belirtmesin doğru + Host: başlığı gönderdiğinden emin olmak için + kullanılmıştır.

+ +
+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ \ No newline at end of file -- cgit 1.2.3-korg