Apache多个IP和VirtualHosts

我有两个IP,我可以在我的linode上使用,我有三个网站运行在服务器上的所有不同的域名,其中两个也运行在SSL

这里是我的httpd.conf的相关部分(在CentOS 6.2上运行Apache2):

NameVirtualHost 178.79.165.220:80 NameVirtualHost 176.58.116.80:80 NameVirtualHost 176.58.116.80:443 NameVirtualHost 178.79.165.220:443 <VirtualHost 178.79.165.220:80> ServerAdmin [email protected] ServerName domain3.com ServerAlias www.domain3.com DirectoryIndex index.php DocumentRoot /var/www/domain3.com/public_html/ LogLevel warn ErrorLog /var/www/domain3.com/logs/error.log CustomLog /var/www/domain3.com/logs/access.log combined </VirtualHost> <VirtualHost 178.79.165.220:80> ServerAdmin [email protected] ServerName domain1.com ServerAlias www.domain1.com DirectoryIndex index.php DocumentRoot /var/www/domain1.com/public_html/ LogLevel warn ErrorLog /var/www/domain1.com/logs/error.log CustomLog /var/www/domain1.com/logs/access.log combined </VirtualHost> <VirtualHost 178.79.165.220:443> ServerAdmin [email protected] ServerName domain1.com ServerAlias www.domain1.com SSLEngine on SSLCertificateFile /etc/ssl/certs/domain1.com/domain1.com.crt SSLCertificateKeyFile /etc/ssl/certs/domain1.com/domain1.com.key SSLCertificateChainFile /etc/ssl/certs/domain1.com/domain1.com.bundle.crt DirectoryIndex index.php DocumentRoot /var/www/domain1.com/public_html/ LogLevel warn ErrorLog /var/www/domain1.com/logs/error.log CustomLog /var/www/domain1.com/logs/access.log combined </VirtualHost> <VirtualHost 176.58.116.80:80> ServerAdmin [email protected] ServerName domain2.com ServerAlias www.domain2.com DirectoryIndex index.php DocumentRoot /var/www/domain2.com/public_html/ LogLevel warn ErrorLog /var/www/domain2.com/logs/error.log CustomLog /var/www/domain2.com/logs/access.log combined </VirtualHost> <VirtualHost 176.58.116.80:443> ServerAdmin [email protected] ServerName domain2.com ServerAlias www.domain2.com SSLEngine on SSLCertificateFile /etc/ssl/certs/sba/sba.crt SSLCertificateKeyFile /etc/ssl/certs/sba/sba.key SSLCertificateChainFile /etc/ssl/certs/sba/sba-bundle.crt DirectoryIndex index.php DocumentRoot /var/www/domain2.com/public_html/ LogLevel warn ErrorLog /var/www/domain2.com/logs/error.log CustomLog /var/www/domain2.com/logs/access.log combined </VirtualHost> 

问题是,如果你去domain3,基本上由于某种原因你到达了domain1。

尝试添加

 NameVirtualHost 178.79.165.220:80 

到configuration。 您目前拥有NameVirtualHost *:80 ,这与domain1.com和domain3.com之间共享的178.79.165.220:80套接字无关。