2 farklı etki alanını 1 IP adresine (Apache) nasıl yönlendirebilirim?


11

Sahip olduğum aynı özel barındırmada barındırmak istediğim iki farklı alan adım var. Aynı IP adresini göstermelerini ve yine de farklı içeriğe sahip olmalarını istiyorum (elbette). Bunu nasıl yapabilirim? Bunu yapmanın farklı yolları var mı? Bu durumda en iyi yol nedir. Teşekkürler.

Yanıtlar:



14

Apache2, tüm etki alanları aynı IP adresine çözümlense bile, alan adlarına bağlı olarak farklı içeriklerin sunulmasını destekler. Etki alanı adlarının her biri sanal bir ana bilgisayar tarafından işlenir , bu nedenle ad adına dayalı sanal ana bilgisayar .

İki alan için örnek bir yapılandırma aşağıdadır:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName www.yourfirstdomain.tld
  DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>

<VirtualHost *:80>
  ServerName www.yourseconddomain.tld
  DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>

Ad tabanlı sanal ana bilgisayar desteğiyle ilgili resmi belgeleri burada bulabilirsiniz .

Ancak, bunun HTTPS (SSL üzerinden HTTP) ile değil, yalnızca düz HTTP bağlantılarıyla çalışacağını lütfen unutmayın: ad tabanlı sanal ana bilgisayarlar, hangi adın talep edildiğini bilmeye güvenir, ancak bu bilgiler şifrelenmiş SSL'ye kadar Apache tarafından bilinemez. bağlantı kuruldu.

Kurulumunuzun HTTPS ile de çalışmasını istiyorsanız, Sunucu Adı Gösterimi (SNI) ( RFC4366 ) adlı SSL protokolünün bir uzantısına güvenmeniz gerekir . Temel olarak, SNI özellikli istemciler (ör. Web tarayıcıları) şifreli SSL bağlantısını oluştururken ekstra düz metin bilgisi ekleyerek sunucunun SSL bağlantısı hazır olmadan önce istenen adı bilmesine olanak tanır.

Tüm tarayıcılar henüz SNI'yi desteklememektedir. Yazma sırasında ve Wikipedia'ya göre, bunlar:

  • Windows Vista veya üstünde Internet Explorer 7 veya üzeri (XP'de, hatta IE 8'de çalışmaz)
  • Mozilla Firefox 2.0 veya üstü
  • Opera 8.0 veya üstü (TLS 1.1 protokolü etkinleştirilmelidir)
  • Android'de Opera Mobile en az 10.1 beta sürümü
  • Google Chrome (Vista veya üstü, Chrome 6 veya üstü XP, Chrome 5.0.342.1 veya üstü OS X 10.5.7 veya üstü)
  • Safari 2.1 veya üstü (Mac OS X 10.5.6 veya üstü ve Windows Vista veya üstü)
  • Konqueror / KDE 4.7 veya üstü
  • Apple iOS 4.0 veya sonraki sürümlerde MobileSafari
  • Honeycomb (v3.x) veya daha yeni sürümünde Android varsayılan tarayıcı
  • Windows Phone 7
  • Maemo'da MicroB

HTTPS üzerinden erişilebilen birkaç ad tabanlı sanal ana bilgisayar barındırmak için mod_ssl'yi etkinleştirmeniz ve yukarıdaki örnekte olduğu gibi benzer bir yapılandırma eklemeniz gerekir:

Listen 443      
NameVirtualHost *:443

# Accept connections for these vhosts from non-SNI clients
# Clients without SNI will be handled by the first defined vhost.
# If you only want SNI-enabled client, put on instead
SSLStrictSNIVHostCheck off

<VirtualHost *:443>
  ServerName www.yourfirstdomain.tld
  DocumentRoot /www/yourfirstdomain.tld/    
</VirtualHost>

<VirtualHost *:443>
  ServerName www.yourseconddomain.tld
  DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>

SSL kullanmanın alanlarınız için SSL sertifikaları satın almanızı veya otomatik olarak imzalananları oluşturmanızı ve Apache'yi SSL bağlantıları için kullanacak şekilde yapılandırmanızı gerektirdiğini unutmayın.


apache2 yapılandırma dosyasının adını ve yolunu söyleyebilir misiniz?
João Pimentel Ferreira

değişikliklerden sonra sudo service apache2 restart
apache'yi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.