配置 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM