配置 Apache 服务器禁止所有非法域名 访问自己的服务器
程序员文章站
2023-11-22 21:53:22
1、http2.4.1以前:
第一种 直接拒绝访问
打开 httpd.conf 文件,将一下配置追加到文件最后。
1、http2.4.1以前:
第一种 直接拒绝访问
打开 httpd.conf 文件,将一下配置追加到文件最后。
<pre name="code" class="html"><pre name="code" class="html"><pre name="code" class="html">#直接拒绝所有非法域名 <virtualhost *:80> servername * serveralias * <location /> order allow,deny deny from all </location> errorlog "/alidata/log/httpd/error.log" customlog "/alidata/log/httpd/info.log" common </virtualhost> </pre><pre name="code" class="html"><pre name="code" class="html">#允许的域名 <virtualhost *:80> documentroot /alidata/www servername www.你的域名 serveralias www.你的域名 <directory "/alidata/www"> options indexes followsymlinks allowoverride all order allow,deny allow from all </directory> <ifmodule mod_rewrite.c> rewriteengine on rewriterule ^(.*)-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 文件,将一下配置追加到文件最后。
#所有非法域名跳转到指定目录或文件 <pre name="code" class="html"><pre name="code" class="html"><virtualhost *:80> #指定目录或文件 documentroot "/yun/www" servername * serveralias * </virtualhost> </pre><pre name="code" class="html"><pre name="code" class="html">#允许的域名 <virtualhost *:80> documentroot /alidata/www/fdt servername www.fdt-art.com serveralias www.fdt-art.com <directory "/alidata/www/fdt"> options indexes followsymlinks allowoverride all order allow,deny allow from all </directory> <ifmodule mod_rewrite.c> rewriteengine on rewriterule ^(.*)-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
2、http2.4.1 以后:
http2.4.1 以后不再需要namevirtualhost以及不再支持servername * 这种写法。
使用servername * 会报invalid servername “*” use serveralias to set multiple server names.
第一种:直接拒绝
打开 httpd.conf 在文件末尾加上一下代码:
<pre name="code" class="html"><pre name="code" class="html">#禁止所有非法域名 <virtualhost *:80> servername 服务器ip serveralias * <location /> order allow,deny deny from all </location> </virtualhost> <pre name="code" class="html">#允许访问的域名 <virtualhost *:80> documentroot /alidata/www servername www.你的域名 serveralias www.你的域名 <directory "/alidata/www"> options indexes followsymlinks allowoverride all order allow,deny allow from all </directory> <ifmodule mod_rewrite.c> rewriteengine on rewriterule ^(.*)-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 在文件末尾加上一下代码:
<pre name="code" class="html"><pre name="code" class="html">#禁止所有非法域名 <virtualhost *:80> documentroot "/alidata/www" servername 服务器ip serveralias * <location /alidata/www> order allow,deny allow from all </location> </virtualhost> </pre> <pre name="code" class="html">#允许访问的域名 <virtualhost *:80> documentroot /alidata/www/fdt servername www.fdt-art.com serveralias www.fdt-art.com <directory "/alidata/www/fdt"> options indexes followsymlinks allowoverride all order allow,deny allow from all </directory> <ifmodule mod_rewrite.c> rewriteengine on rewriterule ^(.*)-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
以上所述是小编给大家介绍的配置 apache 服务器禁止所有非法域名 访问自己的服务器,希望对大家有所帮助