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

1、Apache2.4.1以前:

  第一种 直接拒绝访问

打开 httpd.conf  文件,将一下配置追加到文件最后。

[html] view plaincopy

  1. #直接拒绝所有非法域名

  2. NameVirutalHost *:80 

  3. <VirtualHost *:80>  

  4.     ServerName *  

  5.     ServerAlias *  

  6.     <Location />  

  7.         Order Allow,Deny  

  8.         Deny from all  

  9.     </Location>  

  10.     ErrorLog "/alidata/log/httpd/error.log"  

  11.     CustomLog "/alidata/log/httpd/info.log" common  

  12. </VirtualHost>  




[html] view plaincopy

  1. #允许的域名  

  2. <VirtualHost *:80>  

  3.     DocumentRoot /alidata/www  

  4.     ServerName www.你的域名  

  5.     ServerAlias www.你的域名  

  6.     <Directory "/alidata/www">  

  7.         Options Indexes FollowSymLinks  

  8.         AllowOverride all  

  9.         Order allow,deny  

  10.         Allow from all  

  11.     </Directory>  

  12.     <IfModule mod_rewrite.c>  

  13.         RewriteEngine On  

  14.         RewriteRule ^(.*)-htm-(.*)$ .php?  

  15.         RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?  

  16.     </IfModule>  

  17.     ErrorLog "/alidata/log/httpd/error.log"  

  18.     CustomLog "/alidata/log/httpd/info.log" common  

  19. </VirtualHost>  



重启apache服务:service httpd restart

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

打开 httpd.conf  文件,将一下配置追加到文件最后。

[html] view plaincopy

  1. #所有非法域名跳转到指定目录或文件  

  2. <VirtualHost *:80>  

  3. #指定目录或文件  

  4.     DocumentRoot "/yun/www"  

  5.     ServerName *  

  6.     ServerAlias *  

  7. </VirtualHost>  

[html] view plaincopy

  1. #允许的域名  

  2. <VirtualHost *:80>  

  3.     DocumentRoot /alidata/www  

  4.     ServerName www.你的域名  

  5.     ServerAlias www.你的域名  

  6.     <Directory "/alidata/www">  

  7.         Options Indexes FollowSymLinks  

  8.         AllowOverride all  

  9.         Order allow,deny  

  10.         Allow from all  

  11.     </Directory>  

  12.     <IfModule mod_rewrite.c>  

  13.         RewriteEngine On  

  14.         RewriteRule ^(.*)-htm-(.*)$ .php?  

  15.         RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?  

  16.     </IfModule>  

  17. #错误日志  

  18.     ErrorLog "/alidata/log/httpd/error.log"  

  19.     CustomLog "/alidata/log/httpd/info.log" common  

  20. </VirtualHost>  

重启apache服务:service httpd restart

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

[html] view plaincopy

  1. # 拒绝单个域名 (若要拒绝多个 需要配置多个VirtualHost)  

  2. <VirtualHost *:80>  

  3.     ServerName www.拒绝的域名  

  4.     ServerAlias www.拒绝的域名  

  5.     <Location />  

  6.     Order Allow,Deny  

  7.     Deny from all  

  8.     </Location>  

  9. </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

  1. #禁止所有非法域名  

  2. <VirtualHost *:80>  

  3.     ServerName 服务器ip  

  4.     ServerAlias *  

  5.     <Location />  

  6.         Order Allow,Deny  

  7.         Deny from all  

  8.     </Location>  

  9. </VirtualHost>  




[html] view plaincopy

  1. #允许访问的域名  

  2. <VirtualHost *:80>  

  3.     DocumentRoot /alidata/www  

  4.     ServerName www.你的域名  

  5.     ServerAlias www.你的域名  

  6.     <Directory "/alidata/www">  

  7.         Options Indexes FollowSymLinks  

  8.         AllowOverride all  

  9.         Order allow,deny  

  10.         Allow from all  

  11.     </Directory>  

  12.     <IfModule mod_rewrite.c>  

  13.         RewriteEngine On  

  14.         RewriteRule ^(.*)-htm-(.*)$ .php?  

  15.         RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?  

  16.     </IfModule>  

  17. #错误日志保存位置  

  18.     ErrorLog "/alidata/log/httpd/error.log"  

  19.     CustomLog "/alidata/log/httpd/info.log" common  

  20. </VirtualHost>  



重启apache服务:service httpd restart



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

打开 httpd.conf  在文件末尾加上一下代码:


[html] view plaincopy

  1. #禁止所有非法域名  

  2. <VirtualHost *:80>  

  3.     DocumentRoot "/alidata/www"  

  4.     ServerName 服务器ip  

  5.     ServerAlias *  

  6.     <Location /alidata/www>  

  7.         Order Allow,Deny  

  8.         Allow from all  

  9.     </Location>  

  10. </VirtualHost>  

[html] view plaincopy

  1. #允许访问的域名  

  2. <VirtualHost *:80>  

  3.     DocumentRoot /alidata/www  

  4.     ServerName www.你的域名  

  5.     ServerAlias www.<span style="font-family: Arial, Helvetica, sans-serif;">你的域名</span>  

  6.     <Directory "/alidata/www/fdt">  

  7.         Options Indexes FollowSymLinks  

  8.         AllowOverride all  

  9.         Order allow,deny  

  10.         Allow from all  

  11.     </Directory>  

  12.     <IfModule mod_rewrite.c>  

  13.         RewriteEngine On  

  14.         RewriteRule ^(.*)-htm-(.*)$ .php?  

  15.         RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?  

  16.     </IfModule>  

  17. #错误日志保存位置  

  18.     ErrorLog "/alidata/log/httpd/error.log"  

  19.     CustomLog "/alidata/log/httpd/info.log" common  

  20. </VirtualHost>  

重启apache服务:service httpd restart


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

[html] view plaincopy

  1. # 拒绝单个域名 (若要拒绝多个 需要配置多个VirtualHost)  

  2. <VirtualHost *:80>  

  3.     ServerName www.game673.com  

  4.     ServerAlias www.game673.com  

  5.     <Location />  

  6.     Order Allow,Deny  

  7.     Deny from all  

  8.     </Location>  

  9. </VirtualHost>  





你可能感兴趣的:(Apache禁止用IP非法域名访问网站)