_default_ VirtualHost tumpang tindih pada port 80

10

Saya telah menambahkan 2 host virtual ke file conf apache2 saya seperti di bawah ini:

<VirtualHost *:80>
    DocumentRoot /var/www/html/site1
    ServerName www.site1.com
    ServerAlias site1.com
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot /var/www/html/site2
    ServerName www.site2.com
    ServerAlias site2.com
</VirtualHost>

Saya kemudian mendapatkan kesalahan setelah memulai ulang apache yang saya dapatkan:

[memperingatkan] bawaan VirtualHost tumpang tindih pada port 80, yang pertama mendahului

Mencari di google dan mereka berkata untuk menghilangkan tanda komentar pada baris di bawah ini, jadi saya lakukan:

NameVirtualHost *:80

Mulai ulang, dan sekarang saya tidak mendapatkan kesalahan, tetapi kedua situs pergi ke situs pertama.

menjalankan Centos5. Bagaimana saya memperbaiki masalah ini?

David
sumber

Jawaban:

13

Anda pasti ingin NameVirtualHost tanpa komentar. Itu memberitahu server Anda ke server host virtual berbeda berdasarkan Nama Doman yang digunakan untuk mencapainya. Itu sebabnya Anda melihat semua permintaan masuk ke situs pertama saat itu dihapus.

Christopher Karel
sumber
1
Ya, saya telah melakukan itu dan itu masih tidak berhasil.
David
Apakah itu tidak melayani situs2 dengan benar bahkan dengan itu? Sepertinya peringatan Anda hanya menyatakan bahwa VirtualHost pertama Anda adalah situs default untuk nama yang tidak cocok. Yang pada dasarnya hanyalah cara kerja Virtual Host.
Christopher Karel
1
Setelah menghapus komentar pada baris itu, saya tidak mendapatkan peringatan dan kedua situs masih pergi ke site1
David
Mungkinkah browser Anda baru saja menembolokkan konten dari site1 di bawah domain site2? Coba bersihkan cache Anda atau lakukan penyegaran yang benar. (ctrl + F5)
Christopher Karel
1

Saya sudah memperbaiki proble ini dengan CWP

buka saja /usr/local/apache/conf/sharedip.conf

periksa put * ini di server ip Anda

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName yourdomainserver.ltd
    DocumentRoot /usr/local/apache/htdocs
    ServerAdmin [email protected]
    <IfModule mod_suphp.c>
        suPHP_UserGroup nobody nobody
    </IfModule>
</VirtualHost>
<Directory "/">
        AllowOverride All
        Allow from all
        Order Deny,Allow
</Directory>

kemudian pergi ke /usr/local/apache/conf.d/vhost.conf dan pastikan setiap virtualhost terlihat seperti ini

# vhost_start chango.com.ve
<VirtualHost *:80>
ServerName yourdomain.ltd
ServerAlias www.yourdomain.ltd
ServerAdmin [email protected]
DocumentRoot "/home/yourdomain/public_html"
ScriptAlias /cgi-bin/ "/home/yourdomain/public_html/cgi-bin/
# 
# Custom settings are loaded below this line (if any exist)
# Include "/usr/local/apache/conf/userdata/yourdomain/yourdomain.ltd/*.conf    
</VirtualHost>^M
# vhost_end yourdomain.ltd

ini bekerja untuk saya!

luis macayo
sumber