1、安装 libmaxminddb 库

 apt updateapt install libmaxminddb0 libmaxminddb-dev mmdb-bin

上面安装的软件包是:

  • libmaxminddb0 libmaxminddb-dev 是MaxMind地理定位数据库
  • mmdb-bin – 二进制。 从命令行调用的程序。 使用此命令手动定位 IP
    安装参考

2、下载geoip2 模块

cd /var/
git clone https://github.com/leev/ngx_http_geoip2_module.git

ngx_http_geoip2_module

3、下载安装nginx将 geoip2 构建为动态模块

wget http://nginx.org/download/nginx-1.23.3.tar.gz
tar zxvf nginx-1.23.3.tar.gz
cd nginx-1.23.3
./configure --prefix=/usr/local/nginx --user=www --group=www --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-stream --add-module=/var/ngx_http_geoip2_module
make
make install

nginx下载

4、获取最新数据库

在maxmind注册账号,然后按照下图下载数据文件


  • 将下载的eoLite2-Country.mmdb文件放在/usr/share/GeoIP/文件夹里
    数据文件也可以在 这个网站下载

5、在nginx里配置

在nginx.conf的 http 里添加 几行,定义数据库文件位置

    geoip2 /usr/share/GeoIP/GeoLite2-Country.mmdb {auto_reload 5m;$geoip2_data_country_code country iso_code;}map $geoip2_data_country_code $allowed_country {default yes;CN no;}


通过Nginx来实现禁止国外IP访问网站,在server 中的 location 下添加条件

if ($allowed_country = yes) {return 404;}


最后用海外节点和本地分别访问就可以看到,海外访问就是404页面,本地可以正常访问,也可以在nginx访问日志里看到

参考文章

nginx禁止外网访问相关推荐

  1. nginx禁止外网访问登录页面,SQL 注入、XSS 攻击配置

    nginx windows 注册服务 下载,关注公众号lovepythoncn,回复nginx #user nobody; worker_processes 1;#error_log logs/err ...

  2. tomcat manager 禁止外网访问 只容许内网访问

    参考:http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html A default Tomcat installation includes ...

  3. PHP禁止外网访问本站接口(防跨域防盗链)

    为什么网站要防跨域防盗链? 随着前后端分离技术的兴起,很多手机端网站.小程序.APP访问后台数据都是调用API接口,很多接口都是内部使用的,而不是对外开放,如果没有做好防护措施,你家的接口很可能被其他 ...

  4. Nginx端口映射(外网访问)

    169编辑外网访问配置文件 location ^~/contact-web {proxy_pass http://127.0.0.1:8990/contact-web; } 重启nginx #ngin ...

  5. 阿里云https配置nginx后外网无法访问 已解决

    初次接触前端,好不容易写好了代码布置到阿里云上,使用nginx代理,http访问,没问题,但是google一直提示不安全,于是升级https,配置好后localhost,127.0.0.1都可以访问但 ...

  6. Nginx反向代理:通过外网访问内网数据库(mysql)

    Nginx反向代理:通过外网访问内网数据库 前言 项目场景: 问题描述及分析: 解决方案: 1 在部署nginx里配置端口IP 2 在外网nginx配置反向代理参数 3 重启nginx 前言 部署ng ...

  7. 阿里云centOS7安装好Nginx设置外网可以访问80端口

    欢迎扫描底部关注:快乐学习与分享 1.将默认的firewall防火墙替换成iptables 关闭firewalld防火墙 systemctl stop firewalld 设置开机禁用 systemc ...

  8. 腾讯云数据库TDSQL-C(原CynosDB)的外网访问配置

    笔者的电脑安装mysql数据库总是遇到奇奇怪怪的问题,所以笔者决定不再折腾自己的电脑,使用云数据库,当然对于笔者来说,那肯定是越便宜越好.腾讯云数据库TDSQL-C(原CynosDB)对于学生(24岁 ...

  9. 如何让你自己做的网站他人可以访问——外网访问

    运行网站需要在服务器系统上安装WEB服务器,IIS 主要用于 Windows 服务器,Apache.Nginx 多用于 Linux 服务器(即 LAMP 和 LNMP). 1.安装IIS: 单击:&q ...

最新文章

  1. 2021-2027年中国手机结构件行业投资分析及发展战略研究咨询报告
  2. 转载--微分几何为何必然兴起?
  3. BigDecimal的8种精度取舍方式
  4. python3内存分析_调试和分析 - tracemalloc —- 跟踪内存分配 - 《Python 3.7 标准库》 - 书栈网 · BookStack...
  5. mifare classic 2.2.3中文_西班牙人为什么学中文?他们是这么说的……
  6. 中文编程汉语编程实例
  7. minium环境配置——微信开发者工具
  8. 神州数码服务器型号,[DCN]神州数码无线常用配置
  9. 英特尔老款CPU支持虚拟化对照表(转)
  10. JS调用Arcgis实现地图中心点画圆
  11. abbyyfinereader软件下载中文注册免安装激活版
  12. LibreOffice 6.2.2 Office办公套件发布
  13. abaqus python_abaqus python脚本入门
  14. 火车头+php教程,dede使用火车头采集视频教程
  15. ERP不规范,同事哭晕在厕所
  16. Android NDK下STD库share static方式加载 (so库混乱调用问题)
  17. 商用计算机可信系统,可信计算机系统安全评价标准.ppt
  18. 幂函数 指数函数 对数函数
  19. Swift实现iOS录音与播放音频功能
  20. php开源搬家,迅睿CMS 网站迁移搬家

热门文章

  1. Python3 Flask框架
  2. sql 删除唯一索引unique
  3. mysql教程我爱自学网_6个相见恨晚的自学网站,每个都是精品,送给正在努力拼搏的你们...
  4. Linux安装idea步骤
  5. 爬取腾讯新闻中省份疫情数据到Mysql数据库
  6. 专访阿里金融云徐敏:为普惠金融地提供技术原力
  7. 交互技术前沿学习分享——利用眼动追踪改良广告界面
  8. 程序员常用的画图软件/可视化和小技巧
  9. 西安交通大学计算机在线作业,西交《计算机组成原理》在线作业.docx
  10. 基于单目视觉的同时定位与地图构建方法综述