nginx屏蔽某些地区访问网站

背景:用aws e2实例部署了一个网站

需求:屏蔽国内用户访问

实现:通过nginx

aws自己提供  CloudFront 功能 地理限制功能,可惜是收费的,为了节约资源我就找了免费的实现方式

1.访问 https://www.ip2location.com/free/visitor-blocker 网站选择想要屏蔽的地区

 下滑

 下载文件并打开文件,去掉箭头所指部分,和最后一行的"}"

保存并修改文件名为“blockip.conf”

 

这里需要注意的是打开简介看一下名称,我修改后文件名显示的是blockip.conf,隐藏了扩展名,所以后续上传一直说找不到文件,我还很奇怪,打开一看,后面还有个txt,去掉之后上传就成功了。

2.上传至服务器

scp -i ~/Downloads/keyA.pem /Users/***/Downloads/blockip.conf ec2-user@ip地址:/home/ec2-user

  三个参数,分别是密钥地址,文件地址,和上传的地址

3.连接服务器

ssh -i ~/Downloads/keyA.pem ec2-user@ip地址

可以查看一下

可以看到上传成功了

 上传不成功的话可以在本地修改一下blockip.conf的权限再试一下

sudo chmod 644 blockip.conf

4.复制文件到指定地点

sudo cp blockip.conf /etc/nginx/

5.编辑nginx文件

sudo vi /etc/nginx/nginx.conf

(fn+c进入编辑模式,esc退出编辑,:wq!保存编辑并强制退出,:q!不保存并强制退出)

nginx文件参考配置

 去掉干扰项,重点看箭头部分 

include             /etc/nginx/blockip.conf;

6.重启连接

sudo nginx -s reload

以上操作即可

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值