关于设计,生活和电子的二三事

网站服务器禁止IP直接访问

新建的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,只能使用域名访问。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据