0%

nginx禁止其他网站指向自己的网站

nginx禁止其他网站指向自己的网站

今天在百度统计上发现有第三方的域名,访问的是笔者的博客,虽然不知道他这么做是为了啥,但是笔者还是把他禁了

一开始想的是deny禁止来源ip,

deny 访问控制

deny allow是nginx模块ngx_http_access_module,提供的访问控制模块
模块安装
这个模块内置在nginx里,除非在编译的时候添加 –without-http_access_modules

allow、deny 实例
1
2
3
4
5
6
7
location /{
deny 192.168.1.1;
allow 192.168.1.0/24
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}

从上倒下的顺序,类系iptables.匹配到了便推出.如上的例子先禁止了192.168.1.1,接下来禁止了3个网段,其中包含了一个ipv6,最后未匹配的IP全部禁止访问, 实际生产中可以使用nginx的geo模块配合使用

server配置

后来发现不好使 因为这个ip还是用户的所以没有起作用,后来网上查了一下最后的方法还是改nginx
直接上配置文件

禁掉默认的访问

1
2
3
4
server {
listen 80 default;
return 403;
}

然后自己的域名单独配置nginx 增加新的server就ok了