欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

配置 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 服务器禁止所有非法域名 访问自己的服务器,希望对大家有所帮助