nginx/apache防止空主机头域名指向方法

apache

vi /etc/httpd/conf/httpd.conf

编辑配置文件,在你的站点配置之前再增加一个站点(红色字体部分是我们要增加的,蓝色字体部分代表你正在使用的站点配置)

 代码如下 复制代码

NameVirtualHost *
<VirtualHost *:80>
ServerAdmin yourmail#mail.com
DocumentRoot /error
ServerName abc.com
</VirtualHost>

<VirtualHost *:80>
ServerAdmin yourmail#mail.com
DocumentRoot "你的站点路径"
ServerName yourWebsite.com
ServerAlias *.yourWebsite.com
</VirtualHost>

nginx默认的空主机头,操作如下

vi /usr/local/nginx/conf/nginx.conf #配置文件

找到server,在上面一行添加如下内容:

 代码如下 复制代码
##############################
server {
listen 80 default;
server_name _;
location / {
root html;
return 404;
}
location ~ /.ht {
deny all;
}
}
##############################

直接屏蔽未绑定域名的虚拟主机访问,返回500错误:

 代码如下 复制代码

server    {

        listen  80;

        return 500; 
}

可以把这些流量收集起来,导进到指定的网站,设置如下(做个重定向):

 代码如下 复制代码

server    {

        listen 80;

        default; rewrite ^(.*) http://www.111cn.net permanent;  
}

禁止通过IP访问,可以写成:

 代码如下 复制代码

server {   

    listen 80  default;    

    server_name _;    

    return 500;   
}

/etc/rc.d/init.d/nginx restart #重启nginx

这样设置之后,空主机头访问会直接跳转到nginx404错误页面。

时间: 2024-10-11 16:01:51

nginx/apache防止空主机头域名指向方法的相关文章

nginx防止空主机头域名指向

将 listen 80 default; 改成 listen *:80; 例子  代码如下 复制代码 server {  listen 80 default;  server_name _;  return 444; } 网上还有一个例子 跳转到自己域名首页  代码如下 复制代码 server {         listen 80 default;         server_name _;         rewrite ^(.*) http://www.111cn.net permane

关闭nginx空主机头 防止nginx空主机头及恶意域名指向_nginx

nginx的默认配置中的虚拟主机允许用户通过IP访问,或者通过未设置的域名访问(比如有人恶意把他自己的域名指向了你的ip) 这是因为默认配置中的server区域里有这一行:listen 80 default; 后面的default参数表示这个是默认虚拟主机,接受所有指向过来的域名 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500. server { listen 80 default; server_name _; return 500; } 你也可

Apache服务器虚拟主机原理与设置方法

一.WWW服务器http://www.aliyun.com/zixun/aggregation/14840.html">虚拟主机原理 WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器.比如由一台机器同时提供http: //www.company1.co  m, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别. 使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网

apache中虚拟主机与伪静态配置方法

在apache安装根目录中找到conf/httpd.conf文件,然后打开这个文件最下边有一行 # virtual hosts include conf/extra/httpd-vhosts.conf 看include conf/extra/httpd-vhosts.conf 这一行是否被注释掉,如果被注释掉,请取消注释. 然后打开conf/extra/httpd-vhosts.conf 这个文件,在文件中新建虚拟机 比如要绑定域名为www.111cn.net <virtualhost *:80

关于2003服务器中iis中建立两个网站,主机头不同的问题

问题描述 2003服务器中iis中建立两个网站,主机头不同,第一个建好后标上主机头,然后浏览主机头的域名一切正常.第二个站点建好后,主机头域名设置好,和第一个站点是不同的域名,但输入第二个站点的域名进入的确仍旧是第一个站点的页面,把第二个站点删除后,在浏览器中输入原来第二个被删除的域名,确还是能够进入第一个站点的域名请高手指点下问题出现在哪里? 解决方案 解决方案二:端口号ip指向都是这个IIS

IIS6批量添加主机头 IIS6批量绑定主机头(利用IIS6导入导出XML)_win服务器

最近配置服务器,发现设置IIS需要添加上百个主机头域名,我很快就想到批量添加主机头的方法:把IIS站配置导出一个XML,然后把所有主机头编辑到这个XML里边,最再导回到IIS6里覆盖原来的站点,这样就完成主机头的批量添加. 将网站导出为xml文件时打开我们导出的xml文件发现 复制代码 代码如下: MimeMap=".7z,application/octet-stream .iso,application/octet-stream .torrent,application/octet-strea

为nginx设置默认虚拟主机(空主机头,默认主机头)_nginx

最关键的一点事,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. 这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500. 目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦.就可以这样设置: 复制代码 代码如下: server { listen 80 default; return 500; } 也可以把这些流量收集起来,导入到自己的网

linux中apache配置两个域名指向同一个ip地址不成功

问题描述 linux中apache配置两个域名指向同一个ip地址不成功 两个域名解析完毕,在linux服务器中配置apache文件后有一个域名不成功.测试过解析没问题,将有问题的域名指向其它有域名的服务器发现可用~望求高手出手帮忙~ 解决方案 看看这个 解决方案二: 看看这个

互联网-服务器上的虚拟目录的主机头需要在域名提供商那里注册吗?

问题描述 服务器上的虚拟目录的主机头需要在域名提供商那里注册吗? 在服务器上建了一个虚拟目录 testnetbase, 为它设了一个主机头www.hello.com 那么在互联网上将www.hello.com解析到服务器上的ip, 那么www.hello.com这个域名需要到域名商哪里注册吗? 感觉不需要注册也可以访问服务器上的网站啊? 解决方案 要注册,不注册怎么解析? 解决方案二: 域名需要注册,否则dns无法解析