防止独立IP被其它恶意域名恶意解析
首先参考如下链接
https://www.cnblogs.com/dadonggg/p/8398112.html
在用apache搭建的WEB服务器的时候,如何想只能通过设定的域名访问,而不能直接通过服务器的IP地址访问呢,有以下两种方法可以实现(当然肯定还会有其他方法可以实现),都是修改httpd.conf文件来实现的,下面举例说明。
1、方法一
在httpd.conf文件最后面,加入以下代码
NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
ServerName 221.*.*.*
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "/www/web"
ServerName
</VirtualHost>
说明:上部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。下部分就是允许通过这个域名访问,主目录指向/www/web(这里假设你的网站的根目录是/www/web)
2、方法二
在httpd.conf文件最后面,加入以下代码
NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
DocumentRoot "/www/test"
ServerName 221.*.*.*
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "/www/web"
ServerName
</VirtualHost>
说明:上部分是把通过221.*.*.*这个IP直接访问的请求指向/www/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。下部分的意思跟方法一是一样的。
通过上面的修改不生效,重启Apache服务不生效.
由于本人的Apache服务器在局域网内部,是通过NAT中转过来的,所以通过固定的iP地址是不行了,然后发现(httpd.conf)启用了Vhosts
所以修改vhosts.conf为如下:
<VirtualHost _default_:80>
DocumentRoot "C:\WWW"
<Directory "C:\WWW">
Options -Indexes -FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Deny from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost _default_:80>
DocumentRoot C:\WWW
ServerName
</VirtualHost>
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/312079/viewspace-2152065/
,如需转载,请注明出处,否则将追究法律责任。