新建的DigitalOcean服务器可以通过IP直接访问,在通常情况下这没有什么问题,但在有些情况下不希望允许这样访问。在网上找的一些方法都是针对旧版Apache的,在最新的2.4版本Apache中已经不推荐使用Deny,Allow的方法了,于是去翻Apache文档,找到一种简单的只允许通过域名访问的方法。这种方法也可以用来配置Virtual Server。适用系统为Ubuntu 14.04,其他版本的应该一样。
在Ubuntu下Apache配置文件在/etc/apache2/apache2.conf,登陆后执行:
sudo vi /etc/apache2/apache2.conf
默认情况下文件最后是这样的:
#<DirectoryMatch ^.*/wp-admin/>
# AuthType Basic
# AuthName "Restricted Area"
# AuthUserFile /etc/apache2/.htpasswd
# Require valid-user
#</DirectoryMatch>
<VirtualHost *:80>
ServerAdmin webmaster@YOUR-DIGITALOCEAN-DROPLET-NAME
DocumentRoot /var/www
Servername YOUR-DOMAIN
ServerAlias ***************************************
</VirtualHost>
在文件最后添加:
<VirtualHost *:80>
ServerName YOUR-IP-ADDRESS
Redirect 403 /
</VirtualHost>
然后重启Apache:
sudo service apache restart
然后在使用IP直接访问网站时候就会返回403,只能使用域名访问。


