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

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

2017-06-27 09:44 851 查看

  第一种 直接拒绝访问

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

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache 服务器
相关文章推荐