Apache ad tabanlı sanal ana bilgisayarlardaki ServerName joker karakterleri?


16

LAN'ımızda, DNS sunucusunda Apache adı tabanlı sanal barındırma için kullanmak amacıyla birkaç 'sahte' TLD kurdum. Bu bir Ubuntu 10.04 LAMP sunucusunda toplu sanal barındırma (yani VirtualDocumentRoot) ile birleştirmek istiyorum.

Ancak, doğru vhost'u seçemiyorum!

İşte Apache yapılandırmasının bir özeti:

NameVirtualHost 10.10.0.205

<VirtualHost 10.10.0.205>
   ServerName *.test
   VirtualDocumentRoot /var/www/%-3.0.%-2/test/%1/
   CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>

<VirtualHost 10.10.0.205>
   ServerName *.dev
   VirtualDocumentRoot /var/www/%-3.0.%-2/dev/%1/
   CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>

Bir ana bilgisayar adı gibi www.domain.com.dev doğru 10.10.0.205 olarak çözümlenir, ama her zaman yerine daha yakından uyan alt biri olan, üst vHost seçer.

Apache'nin belirli bir IP için üst vhost'a varsayılan olarak ayarlamadan önce ServerName'i eşleştirmeye çalışacağı izlenimi altındaydım. Neyi yanlış yapıyorum? Yoksa bu mümkün değil ve her TLD için başka bir IP mi kullanmalıyım?

apachectl -S çıkışları (kesilmiş):

10.10.0.205:*          is a NameVirtualHost
    default server *.test
    port * namevhost *.test
    port * namevhost *.dev

Yanıtlar:


40

Yalnız ServerAliasdeğil kullanın ServerName:

ServerName somename.dev

ServerAlias *.dev


3
Son apache sürümleri artık SunucuAdı'nda joker karakterlere bile izin vermeyecek ve hata bunun yerine ServerAlias'ı kullanmanızı söyleyecektir.
Quentin Skousen

Muhteşem. Bu hızlı ve noktaya geldi. Def bana zaman kazandırdı. Teşekkürler.
Art Geigel

4

Bu yardımcı olabilirse, sadece biraz Mo'nın cevabını tamamlamak için:

ServerAlias'taki joker karakterler ayrıca kısmi alan adları üzerinde de çalışır.

ServerName somename.dev

ServerAlias *-mysite.dev

Son zamanlarda hayatımı ^^ kurtardı (her bir alt uygulaması için alt alanlardan bir ana siteyi gibi admin-somename.dev, bo-somename.dev, api-somename.dev...)

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.