您的位置:首页 > 运维架构 > Apache

Apache禁止用IP非法域名访问网站

2015-11-06 11:09 627 查看

1、Apache2.4.1以前:

第一种 直接拒绝访问

打开 httpd.conf 文件,将一下配置追加到文件最后。[html] view plaincopy#直接拒绝所有非法域名NameVirutalHost *:80<VirtualHost *:80>ServerName *ServerAlias *<Location />Order Allow,DenyDeny from all</Location>ErrorLog "/alidata/log/httpd/error.log"CustomLog "/alidata/log/httpd/info.log" common</VirtualHost>
[html] view plaincopy#允许的域名<VirtualHost *:80>DocumentRoot /alidata/wwwServerName www.你的域名ServerAlias www.你的域名<Directory "/alidata/www">Options Indexes FollowSymLinksAllowOverride allOrder allow,denyAllow from all</Directory><IfModule mod_rewrite.c>RewriteEngine OnRewriteRule ^(.*)-htm-(.*)$ .php?RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?</IfModule>ErrorLog "/alidata/log/httpd/error.log"CustomLog "/alidata/log/httpd/info.log" common</VirtualHost>
重启apache服务:service httpd restart

第二种 跳转到指定目录或文件

打开 httpd.conf 文件,将一下配置追加到文件最后。[html] view plaincopy#所有非法域名跳转到指定目录或文件<VirtualHost *:80>#指定目录或文件DocumentRoot "/yun/www"ServerName *ServerAlias *</VirtualHost>[html] view plaincopy#允许的域名<VirtualHost *:80>DocumentRoot /alidata/wwwServerName www.你的域名ServerAlias www.你的域名<Directory "/alidata/www">Options Indexes FollowSymLinksAllowOverride allOrder allow,denyAllow from all</Directory><IfModule mod_rewrite.c>RewriteEngine OnRewriteRule ^(.*)-htm-(.*)$ .php?RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?</IfModule>#错误日志ErrorLog "/alidata/log/httpd/error.log"CustomLog "/alidata/log/httpd/info.log" common</VirtualHost>

重启apache服务:service httpd restart

第三种:配置单个域名拒绝或跳转(不建议使用)

[html] view plaincopy# 拒绝单个域名 (若要拒绝多个 需要配置多个VirtualHost)<VirtualHost *:80>ServerName www.拒绝的域名ServerAlias www.拒绝的域名<Location />Order Allow,DenyDeny from all</Location></VirtualHost>

2、Apache2.4.1 以后:

apache2.4.1 以后不再需要NameVirtualHost以及不再支持ServerName * 这种写法。使用ServerName * 会报Invalid ServerName “*” use ServerAlias to set multiple server names.

第一种:直接拒绝

打开 httpd.conf 在文件末尾加上一下代码:[html] view plaincopy#禁止所有非法域名<VirtualHost *:80>ServerName 服务器ipServerAlias *<Location />Order Allow,DenyDeny from all</Location></VirtualHost>
[html] view plaincopy#允许访问的域名<VirtualHost *:80>DocumentRoot /alidata/wwwServerName www.你的域名ServerAlias www.你的域名<Directory "/alidata/www">Options Indexes FollowSymLinksAllowOverride allOrder allow,denyAllow from all</Directory><IfModule mod_rewrite.c>RewriteEngine OnRewriteRule ^(.*)-htm-(.*)$ .php?RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?</IfModule>#错误日志保存位置ErrorLog "/alidata/log/httpd/error.log"CustomLog "/alidata/log/httpd/info.log" common</VirtualHost>
重启apache服务:service httpd restart

第二种:跳转到指定目录或文件

打开 httpd.conf 在文件末尾加上一下代码:[html] view plaincopy#禁止所有非法域名<VirtualHost *:80>DocumentRoot "/alidata/www"ServerName 服务器ipServerAlias *<Location /alidata/www>Order Allow,DenyAllow from all</Location></VirtualHost>[html] view plaincopy#允许访问的域名<VirtualHost *:80>DocumentRoot /alidata/wwwServerName www.你的域名ServerAlias www.<span style="font-family: Arial, Helvetica, sans-serif;">你的域名</span><Directory "/alidata/www/fdt">Options Indexes FollowSymLinksAllowOverride allOrder allow,denyAllow from all</Directory><IfModule mod_rewrite.c>RewriteEngine OnRewriteRule ^(.*)-htm-(.*)$ .php?RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?</IfModule>#错误日志保存位置ErrorLog "/alidata/log/httpd/error.log"CustomLog "/alidata/log/httpd/info.log" common</VirtualHost>重启apache服务:service httpd restart

第三种:配置单个域名拒绝或跳转(不建议使用)

[html] view plaincopy# 拒绝单个域名 (若要拒绝多个 需要配置多个VirtualHost)<VirtualHost *:80>ServerName www.game673.comServerAlias www.game673.com<Location />Order Allow,DenyDeny from all</Location></VirtualHost>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: