配置 Apache 服务器禁止所有非法域名 访问自己的服务器

 更新时间:2017年06月27日 09:44:00   作者:Window2016  
这篇文章主要介绍了配置 Apache 服务器禁止所有非法域名 访问自己的服务器,需要的朋友可以参考下

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 服务器禁止所有非法域名 访问自己的服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 在Ubuntu中使用NTP实现时间同步

    在Ubuntu中使用NTP实现时间同步

    这篇文章主要介绍了在Ubuntu中使用NTP实现时间同步,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Ubuntu上Vim安装NERDTree插件的详细操作步骤

    Ubuntu上Vim安装NERDTree插件的详细操作步骤

    这篇文章主要介绍了Ubuntu上Vim安装NERDTree插件操作步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • LuManager VPS主机控制面板安装和Eduvps免费VPS测评

    LuManager VPS主机控制面板安装和Eduvps免费VPS测评

    这篇文章主要介绍了LuManager VPS主机控制面板安装和Eduvps免费VPS测评,需要的朋友可以参考下
    2016-04-04
  • Linux系统查看CPU、机器型号、内存等信息

    Linux系统查看CPU、机器型号、内存等信息

    今天小编就为大家分享一篇关于Linux系统查看CPU、机器型号、内存等信息,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Linux 查看cpu 信息的命令及简单实例

    Linux 查看cpu 信息的命令及简单实例

    这篇文章主要介绍了Linux 查看cpu 信息的命令及简单实例的相关资料,需要的朋友可以参考下
    2016-10-10
  • 谷歌云Google Cloud 启用Ubuntu的SSH服务

    谷歌云Google Cloud 启用Ubuntu的SSH服务

    默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的,在 Ubuntu 上启用 SSH 非常的简单直接,需要的朋友可以参考下
    2023-12-12
  • 查看Linux内存条数与清理内存的命令方法

    查看Linux内存条数与清理内存的命令方法

    下面小编就为大家带来一篇查看Linux内存条数与清理内存的命令方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • CentOS中环境变量与配置文件的深入讲解

    CentOS中环境变量与配置文件的深入讲解

    这篇文章主要给大家介绍了关于CentOS中环境变量与配置文件的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用CentOS具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • Linux实现数据库定时备份方式

    Linux实现数据库定时备份方式

    这篇文章主要介绍了Linux实现数据库定时备份方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • CentOS 7 安装vsftpd 服务器的具体操作步骤

    CentOS 7 安装vsftpd 服务器的具体操作步骤

    下面小编就为大家带来一篇CentOS 7 安装vsftpd 服务器的具体操作步骤。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论