域名解析到服务器ip,陌生域名解析到服务器ip - 这种异常流量对你的站点不一定是好事...

1fa5137d457c383a6136fca877b0f1be

文章目录

前言

当你在百度统计/google统计平台发偶然发现一些关键词来源的站点和自己站点一点不相关时.

这时你要注意了,可能你的内容正在养着别人的域名.

如果你点击这些异常站点,打开的原来是你自己的站.

偶尔你也会收到云服务器平台发来的通知邮件:

大概是说解析到你服务器上的 xxx.com 域名,

违反了国家有关法规,请您尽快处理!

处理方式:

1.停止域名解析 ,完成域名备案后可重新恢复解析;

停止网站服务, 完成备案后可重新开启业务;

为什么有人要怎么做

陌生人把自己的域名解析到你的 IP ,就相当于原样复制了一个内容丰富的站点,这个域名被搜索引擎收录后,就能够短时间内得到和你的站点相同的权重( PR 值),然后有权重的域名是可以卖钱的.

有的人遇到这种情况,会在web服务器里直接设置 301 跳转,相当于多个域名给自己一个站点带来流量,貌似很不错的样子.

其实这种方式是得不偿失

首先你不清楚这个陌生域名是否备案,以前是否在搜索引擎黑名单,垃圾名单中,如果是上述几种类型域名,只会影响你自己站点的收录排名和PR.

其次这些域名假如之前是做一些违规违法内容,而且已经在搜索引擎养了一些敏感关键词,被用户搜索敏感词,直接定位到你的站点,后果应该清楚吧.

为什么他的域名能打开你的站点

以nginx为例

当用户浏览器输入一个域名开始访问时

首先根据域名定位到你的服务器

如果根据 listen 指令无法得到最佳匹配, 将会开始解析 server_name 指令. nginx 会检查请求中的 “Host” 头, 这个值包含了客户端实际试图请求的域名或者 ip 地址. nginx 会根据这个值去匹配 server_name 指令, 匹配规则如下:

nginx 会尝试寻找一个和 sever_name 和 Host 值完全匹配的 server 块, 如果找到多个精确匹配, 则会使用第一个匹配的 server 块

如果没有找到精确匹配的 server 块, 则 nginx 尝试找到 server_name 带有 * 开头的 server 块, 如果找到多个, 则选择最长匹配的 server 块

如果没有找到使用开头的 server 块, 则会寻找以结尾的 server 块, 同样, 如果有多个匹配, 选择最长匹配

如果没有找到使用 * 匹配的 server 块, 则会寻找使用正则表达式 (以~ 开头) 定义 server_name 的 server 块, 如果找到多个匹配, 会使用第一个匹配

如果以上都没有匹配, 则使用 default_server. 如果没有指定 default_server, 则会选择第一个可用的 server. 我们可以指定对于没有匹配的 host 值时, 返回错误到客户端. 可以用来防止别人把垃圾流量转到你的网站

如何设置default_server

当未被命中的 server块,最后选择用 default_server时,我们把这样的流量全部返回 444 状态码.

通过返回 444 这个 nginx 的非标准错误码让 nginx 断开与浏览器的连接

设置

我的默认配置放在了 /etc/nginx/nginx.conf 文件里

# For more information on configuration, see:

# * Official English Documentation: http://nginx.org/en/docs/

# * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;

worker_processes auto;

error_log /var/log/nginx/error.log;

pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.

include /usr/share/nginx/modules/*.conf;

events {

worker_connections 1024;

}

http {

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;

tcp_nopush on;

tcp_nodelay on;

keepalive_timeout 65;

types_hash_max_size 2048;

include /etc/nginx/mime.types;

default_type application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.

# See http://nginx.org/en/docs/ngx_core_module.html#include

# for more information.

include /etc/nginx/conf.d/*.conf;

server {

listen 80 default_server;

listen [::]:80 default_server;

server_name _;

return 444;

}

# server {

# listen 443 ssl http2 default_server;

# listen [::]:443 ssl http2 default_server;

# server_name _;

# root /usr/share/nginx/html;

#

# ssl_certificate "/etc/pki/nginx/server.crt";

# ssl_certificate_key "/etc/pki/nginx/private/server.key";

# ssl_session_cache shared:SSL:1m;

# ssl_session_timeout 10m;

# ssl_ciphers HIGH:!aNULL:!MD5;

# ssl_prefer_server_ciphers on;

#

# # Load configuration files for the default server block.

# return 444;

# }

}

如果你的站点开启了https服务,那么443端口的 default_server 一样也返回 444 状态码即可.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值