专栏首页运维技术迷nginx使用GeoIP限制国家访问

nginx使用GeoIP限制国家访问

安装GEeoip库

安装完成之后,GeoIP数据库会被安装在/usr/share/GeoIP/GeoIP.dat.

[root@vultr ~]# yum -y install geoip-devel
[root@vultr openresty-1.13.6.1]# ls /usr/share/GeoIP/GeoIP.dat
/usr/share/GeoIP/GeoIP.dat

安装openresty(Nginx)

[root@vultr openresty-1.13.6.1]# ./configure --user=www --group=www --prefix=/usr/local --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --with-http_geoip_module
[root@vultr openresty-1.13.6.1]# make && make install
<pre lang="bash" line="1" escaped="true">
 
<h2><strong>配置openresty支持Geoip</strong></h2>
<pre lang="bash" line="1" escaped="true">
[root@vultr openresty-1.13.6.1]# vim /usr/local/nginx/conf/nginx.conf
....
http {
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default yes;
US no; # 国家 no就是不允许哪个国际访问
}
....
server{
....
        if ($allowed_country = no) { # 添加判断,如果访问国家=no,就返回404
                return 404;
        }
...
}
[root@vultr openresty-1.13.6.1]# /usr/local/nginx/sbin/nginx -t  # 检测nginx配置文件
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@vultr openresty-1.13.6.1]# /usr/local/nginx/sbin/nginx # 启动nginx

测试访问效果

本地ip地址江苏苏州移动

访问提示404,和预期的效果一样。

参考文献: [1]:https://www.vpsee.com/2011/03/install-nginx-with-geoip-module-for-country-targeting/ [2]:http://www.dnsdizhi.com/post-175.html [3]:http://blog.angryfox.com/?p=1688

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 两道简单的oracle题目(r5笔记第91天)

    最近一个朋友想让我帮他一个忙,看似是一个很简单的小忙,就是出两道l题,一道可以难一些,可以通过这道题看出一个开发人员的数据库水平,sql或者pl/sql都可以,...

    jeanron100
  • 归档模式下四种完全恢复的场景(r6笔记第8天)

    在数据的备份恢复中,基本都在使用rman来做了,但是从数据库的内部原理来说,对于介质恢复,其实还是做两件事,restore和recover. restore是一...

    jeanron100
  • memlock过低导致的数据库性能问题(r6笔记第10天)

    今天在一台备库机器上准备搭建active data guard ,在主库上做配置的时候,发现主库的反应有些慢,主要的感觉就是敲命令的时候似乎都有些停顿。 带着疑...

    jeanron100
  • sql 安装过程图解和安装密钥

    SQL Server 2008安装图解 注意:首先将光盘镜像文件SQLFULL_CHS.iso解压到后才能安装,否则报错”setup.rll failed”。 ...

    学到老
  • 简单分析shared pool(三) (r5笔记第94天)

    提到shared pool,都会不由得和sql语句的解析过程联系起来,因为shared pool所做的主要工作就是解析sql语句,生成执行计划,在之前的两篇中...

    jeanron100
  • sql之left join、right join、inner join的区别

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等...

    学到老
  • 基于时间点的不完全恢复的例子(r6笔记第9天)

    说到不完全恢复,一般有三种场景,基于时间点的不完全恢复,基于scn的不完全恢复,基于cancel的不完全恢复。 三种情况都是不完全恢复采用的方式,而不完全恢复都...

    jeanron100
  • 聚类方法的区别解读:各种聚类分析呀呀呀

    k 均值聚类法 快速高效,特别是大量数据时,准确性高一些,但是需要你自己指定聚类的类别数量 系统聚类法则是系统自己根据数据之间的距离来自动列出类别,所以通过系统...

    学到老
  • 10g,11g中的数据库克隆安装(r6笔记第7天)

    有时候在很多工作环境中,如果彼此几个机器的配置相似,我们就可以不用一遍又一遍的安装数据库软件了,我们可以为了更快的完成安装工作,在静默安装,图形安装的选择之外,...

    jeanron100
  • 数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

    SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。 1. 数据查询语言DQL 数据查询语言DQL基本结构...

    学到老

扫码关注云+社区

领取腾讯云代金券