配置server禁止全部非法域名 訪问自己的server
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置server禁止全部非法域名 訪问自己的server相关的知识,希望对你有一定的参考价值。
1、Apache2.4.1曾经:
第一种 直接拒绝訪问
#直接拒绝全部非法域名 <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>
#同意的域名 <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
另外一种 跳转到指定文件夹或文件
#全部非法域名跳转到指定文件夹或文件 <VirtualHost *:80> #指定文件夹或文件 DocumentRoot "/yun/www" ServerName * ServerAlias * </VirtualHost>
#同意的域名 <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
第三种:配置单个域名拒绝或跳转(不建议使用)
# 拒绝单个域名 (若要拒绝多个 须要配置多个VirtualHost) <VirtualHost *:80> ServerName www.拒绝的域名 ServerAlias www.拒绝的域名 <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost>
2、Apache2.4.1 以后:
apache2.4.1 以后不再须要NameVirtualHost以及不再支持ServerName * 这样的写法。
使用ServerName * 会报Invalid ServerName “*” use ServerAlias to set multiple server names.
第一种:直接拒绝
打开 httpd.conf 在文件末尾加上一下代码:
#禁止全部非法域名 <VirtualHost *:80> ServerName serverip ServerAlias * <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost>
#同意訪问的域名 <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 在文件末尾加上一下代码:
#禁止全部非法域名 <VirtualHost *:80> DocumentRoot "/alidata/www" ServerName serverip ServerAlias * <Location /alidata/www> Order Allow,Deny Allow from all </Location> </VirtualHost>
#同意訪问的域名 <VirtualHost *:80> DocumentRoot /alidata/www ServerName www.你的域名 ServerAlias www.<span style="font-family: Arial, Helvetica, sans-serif;">你的域名</span> <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
第三种:配置单个域名拒绝或跳转(不建议使用)
# 拒绝单个域名 (若要拒绝多个 须要配置多个VirtualHost) <VirtualHost *:80> ServerName www.game673.com ServerAlias www.game673.com <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost>
以上是关于配置server禁止全部非法域名 訪问自己的server的主要内容,如果未能解决你的问题,请参考以下文章
Nginx设置禁止通过IP访问服务器并且只能通过指定域名访问