Apache2 httpd hatasını “bir NameVirtualHost adresiyle karıştırma * portlarını ve * olmayan portlarını nasıl destekleyebilirim?”


24

Apache2'yi başlatırken aldığım hata:

 * Starting web server apache2
 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [warn] NameVirtualHost *:80 has no VirtualHosts

Apache'yi birden fazla siteye ev sahipliği yapacak şekilde ayarlamak için önce bu kılavuzu izledim:

http://www.debian-administration.org/articles/412

Daha sonra ServerFault'da benzer bir soru buldum ve çözümü uygulamaya çalıştım, ancak yardımı olmadı.

İşte nihai VirtualHost yapılandırmamın bir örneği:

<VirtualHost *:80>
    ServerAdmin admin@xxx.com
    ServerName  www.xxx.com
    ServerAlias xxx.com

    # Indexes + Directory Root.
    DirectoryIndex index.html
    DocumentRoot /var/www/www.xxx.com

    # Logfiles
    ErrorLog  /var/www/www.xxx.com/logs/error.log
    CustomLog /var/www/www.xxx.com/logs/access.log combined
</VirtualHost>

etki alanıyla X'd dışarı masum olanı korumak için :-)

Ayrıca, kılavuzda belirtilen conf.d / virtual.conf dosyası şuna benziyor:

NameVirtualHost *

İşin garibi, her şeyin üç siteden ikisi için iyi göründüğü.


Komple (!) Apache httpd konfigürasyonunu veya en azından her NameVirtualHost ve <VirtualHost ...> hattını gönderin.
joschi

İki ipi aynı ipte karıştıramazsınız: port. İki ipin olduğu bir kurulum yaptım, birinde takılan massvhost vardı, diğeri ise normal isimli ana bilgisayarlara sahipti. Daha da önemlisi, amaç nedir? Neyi başarmaya çalışıyorsun? Kısıtların neler?
Marcin

Yanıtlar:


29

İle adlandırılan IP adreslerinin NameVirtualHosther bir VirtualHostöğedeki IP adresiyle eşleşmesi gerekir .

Örnek:

NameVirtualHost *:80
NameVirtualHost *:81

<VirtualHost *:80>
# ...
</VirtualHost>

<VirtualHost *:81>
# ...
</VirtualHost>

# This will not work!
<VirtualHost *>
# ...
</VirtualHost>

Detaylar için Apache Virtual Host belgelerini okuyun .


Keşke birden fazla oy kullanabilseydim. Gerçekten bunu belgelerde daha net olarak çağırmaları gerekir.
Alex W


5

Yanıtlara ek olarak, fark ettiğim bir şey, her NameVirtualHost ve VirtualHost yönergesinde: 80 bildirerek açıkça belirtmeden SSL'yi çalıştıramayacağınızdır, apache aşağıdakileri desteklemez:

İsimVirtualHost *

ve

İsimVirtualHost *: 443

Aynı konfigürasyona karıştığında, apache'de sıfır portu dinlerken hata alırsınız.

Benim için az önce ekledim: her sunucunun 80'i SSL kullanabiliyordu.


0

Ör:

<VirtualHost 85.25.97.252:80>
ServerName domain.com
ServerAlias ​​* .domain.com SunucuAdmin
webmaster@domain.com
DocumentRoot "/var/www/domain.com/httpdocs/"
<Directory "/var/www/domain.com/ httpdocs / ">
Seçenekler Dizinler FollowSymLinks
AllowOver All
Order izin
ver, tümünden izin ver reddet
</Directory>
</VirtualHost>

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.