Apache 2 başlangıç ​​uyarısı: NameVirtualHost *: 80'de SanalHot yok


68

Ubuntu Apache sunucum (Apache 2) başlatıldığında aşağıdakileri okuyan bir uyarı mesajı alıyorum:

[warn] NameVirtualHost *:80 has no VirtualHosts

Ancak, web sunucusu iyi çalışıyor. Sitemin yapılandırmasında bana bu uyarıyı vermesi için yanlış olan ne olabilir?

Söz konusu konfigürasyon dosyası (içinde bulunur /etc/apache2/sites-available) gibi okur (detaylar kısaltılmıştır)

<VirtualHost *>
    <Location /mysite>
        # Configuration details here...
    </Location>

    # Use the following for authorization.
    <LocationMatch "/mysite/login">
        AuthType Basic
        AuthName "My Site"
        AuthUserFile /etc/sitepasswords/passwd
        Require valid-user
    </LocationMatch>
</VirtualHost>

Kullandığım gerçeği <Location>sorunun bir parçası olabilir mi?

Yanıtlar:


53

Değişiklik

<VirtualHost *>

okumak

<VirtualHost *:80>

Veya apache2 Confing dosyanıza iki kez (NameVirtualHost *: 80) eklendi. (Varsayılan olarak ports.conf dosyasına eklenmiştir)

Bu hatayı temizlemelidir.

Bir kenara: bu hatayı dikkate almamalısınız. Apache'nin yapılandırması, özellikle sanal ana makinelere (örn. /Etc/httpd/vhosts.d/* dahil) küreselleşme olduğunda kararlı değildir. Bu, ana bilgisayarları yükleme sırasını açıkça kontrol etmediğiniz anlamına gelir; böylece bir IP için varsayılan vhost ilk önce yüklenen olur, bu da istenmeyen sonuçlara yol açabilir.

Buna bir örnek, bir IP'nin varsayılan vhost'unun adı değil, bu IP'de de mevcut olacak . Bu, bilgilerin sitenizden IP’ye atıfta bulunarak Google’a sızmasına neden olabilir; bu da müşteriler için kafa karıştırıcı olabilir.

Yukarıdaki NameVirtualHost hatası, apache'nin en iyi olmayan şekilde yüklediği bir ipucu olabilir, bu nedenle onu görmezden gelmemelisiniz.


5
Varsayılan vhost’i şu şekilde ayarlayabilirsiniz:<VirtualHost _default_ thehostname.com>
Amy B

51

Bunun nedeni, birden fazla yerde NameVirtualHost yönergesine sahip olmanız olabilir.

Diğer dağıtımları bilmiyorum, ancak Ubuntu / Debian'da Apache'nin yapılandırması birkaç dosyaya bölünmüştür, bu nedenle çoğaltmanın nerede olduğunu kontrol etmeniz gerekir (httpd.conf, apache2.conf, ports.conf, conf.d). / *).

Oh, ve bu harika kaynağı daha fazla bilgi ile buldum: Common Apache Yanlış Yapılandırmaları .


3
Verdiğiniz bağlantı, Apache yapılandırma dosyalarının nüanslarını anlamaya çalışmak için harika bir kaynak gibi görünüyor. Teşekkürler!
Kit,

4
Teşekkürler! Bu benim sorunumdu
rcampbell

Teşekkürler - Burada bir ubuntu sunucusu varsayılan konfigürasyonunda aynı sorun: ports.conf NameVirtualHost : 80 içerir ve sitelerin etkin olduğu / config dosyalarında tekrarlanmamalıdır !
DrSAR

1
Ubuntu çünkü benim durumda bu sorunu olduğunu NameVirtualHost *:80hem ports.confve de conf.d/virtualhostsbir Ubuntu hata gibi görünüyor, hangi.
kabarık

9

Debian / Lenny kutusunda: /etc/apache2/ports.conf dosyasında ek bir NameVirtualHost ifadesi vardır - bu sorunun nedeni olabilir (/ etc / apache2 / sites-available / default içinde de aynı ifade vardır) . Ben bu açıklama ve hata hayal kırıklığına yorumladı.


3

Eşleşen bir VirtualHost girişi olmayan bir NameVirtualHost'a sahipsiniz.

Bu genellikle ölümcül değildir, sadece bilgilendirici bir hatadır.


3

Bunun nedeni, NameVirtualHost hattınızın üzerinde bir bağlantı noktası numarası ( :80) olması, ancak VirtualHost bölümleriniz yok.


2

AS Rune, Debian sistemlerinde NameVirtualHost'un birçok dosyada göründüğünden bahseder - ports.conf, conf.d / virtual.conf ve muhtemelen kendi conf dosyalarınız int sitelerinde mevcut

NameVirtualHost *: 80 olarak tek bir yerde bulunduğundan emin olun (benimki conf.d / virtual.conf'ta) ve uyarılar gitmeli.

Bahsedildiği gibi, her site için VirtualHost yönünü bu biçime sahip yapmalısınız <VirtualHost *:80>


2

Aynı sorunu yaşıyorum, ancak bir andaki varsayılan Apache sitesini devre dışı bırakıyorum. Gibi bir şey yazarım

# a2dissite default

Apache 2'yi yeniden başlatmayı denedikten sonra şu mesajı alıyorum:

"[warn] NameVirtualHost *: 80'de SanalHasta yok"

Sonra Apache 2'nin 'varsayılan' sitesini tekrar etkinleştiriyorum ve her şey tekrar çalışıyor, kullanılan komut:

# a2ensite default

Hepsi bu kadar millet!


Bu en iyi tavsiye olmuştur.
jini

Müthiş bir tavsiye, zpanelCP kullanıyorum ve bundan başka hiçbir şey işe yaramadı. Teşekkürler ! :)
Eliran Efron
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.