繁体   English   中英

Apache VirtualHost:同一IP上的多个站点

[英]Apache VirtualHost : multiple sites on same IP

假设blah.comblah2.com都指向IP = 5.31.111.7的同一服务器。

我想要:

  • 访问blah.com服务/var/www/site1

  • 访问blah2.com服务/var/www/site1

  • 访问5.31.111.7服务/var/www/site2

我试过了

<VirtualHost *:80>
    DocumentRoot /var/www/site1
</VirtualHost>
<VirtualHost 5.31.111.7:80>
   DocumentRoot /var/www/site2
</VirtualHost>

但是现在所有内容都转到/var/www/site2 ,这不是我想要的。

如何配置VirtualHost ,以使所服务的网站取决于URL?

PS:为什么我应该在/etc/apache2/sites-enabled/000-default而不是/etc/apache2/apache2.conf 我不明白这个sites-enabled sites-available/default / sites-available/default名称...为什么这么简单,在Debian上默认有这么多不同的配置文件?

您想要做的就是基于名称的虚拟主机 ,您将需要

NameVirtualHost *:80

要在端口80上启用它,对于每个VirtualHost,您需要指定名称:

<VirtualHost *:80>
ServerName blah2.com
ServerAlias www.blah2.com

DocumentRoot /var/www/site1
</VirtualHost>

请注意,在进行基于名称的虚拟主机时,SSL / TLS受到限制 ,但是自POODLE之后以来,这还是有一点争议的,人们还是开始要求使用TLS,因此无论如何,古老的浏览器都不是很幸运。

至于配置文件,拥有两类配置文件非常有用:一类是默认值,程序包更新将覆盖它们;另一类是本地文件,它不会涉及甚至最好是一个充满前者和前者的目录。充满后者的目录。 (由于其他软件包可能要进行配置设置,因此它们都将安装在前面的位置,并且您应该只在第二个位置更改/覆盖配置。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM