LAMP搭建7:默认虚拟主机
我们使用www.test.com和www.mydiscuz.com两个域名都能访问到我们的论坛,使用192.168.147.131也能访问到我们的论坛,是因为我们在本地主机的hosts文件中将这两个域名解析到了服务器IP地址192.168.147.131。192.168.147.131 www.test.com www.mydiscuz.com
而我们服务器上虚拟主机配置文件中只配置了一台虚拟主机(就是我们的网站),而第一台虚拟主机总是默认虚拟主机,服务器IP192.168.147.131总是指向第一台虚拟主机,访问服务器IP就相当于直接访问我们的网站,而凡是解析到服务器IP的域名也都能访问我们的网站。
如过在本机hosts中再加入一个域名www.aaa.com也指向192.168.147.131,也是可以访问到我们的论坛的。
192.168.147.131 www.test.com www.mydiscuz.com www.aaa.com
我们需要禁用其他域名解析到我们的网站,只需让我们的网站不是默认虚拟主机就好。所以创建一个无效的虚拟主机作为默认,这样即可实现禁用其他域名解析到我们的网站。
编辑虚拟主机配置文件:
# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
在第一个位置加入一个无效的虚拟主机作为默认:
<VirtualHost *:80>
DocumentRoot "/tmp/123"
ServerName invalid.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.test.com
ServerAlias www.mydiscuz.com
<Directory /data/www/important/>
AllowOverride AuthConfig
AuthName "username"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>
</VirtualHost>
设置/tmp/123的权限为600或400,daemon用户无权访问,重新加载配置文件
# mkdir /tmp/123
# chmod -R 600 /tmp/123
# ls -ld /tmp/123
drw------- 2 root root 4096 1月11 05:58 /tmp/123
# apachectl -t
Syntax OK
# apachectl graceful
这样就禁用了其他域名访问我们的论坛
也禁用了直接使用IP访问我们的论坛
我们定义的主域名www.test.com可以访问我们的论坛
我们定义的从域名www.mydiscuz.com也能访问我们的论坛
页:
[1]