nginx禁止外网访问
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禁止外网访问相关推荐
- nginx禁止外网访问登录页面,SQL 注入、XSS 攻击配置
nginx windows 注册服务 下载,关注公众号lovepythoncn,回复nginx #user nobody; worker_processes 1;#error_log logs/err ...
- tomcat manager 禁止外网访问 只容许内网访问
参考:http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html A default Tomcat installation includes ...
- PHP禁止外网访问本站接口(防跨域防盗链)
为什么网站要防跨域防盗链? 随着前后端分离技术的兴起,很多手机端网站.小程序.APP访问后台数据都是调用API接口,很多接口都是内部使用的,而不是对外开放,如果没有做好防护措施,你家的接口很可能被其他 ...
- Nginx端口映射(外网访问)
169编辑外网访问配置文件 location ^~/contact-web {proxy_pass http://127.0.0.1:8990/contact-web; } 重启nginx #ngin ...
- 阿里云https配置nginx后外网无法访问 已解决
初次接触前端,好不容易写好了代码布置到阿里云上,使用nginx代理,http访问,没问题,但是google一直提示不安全,于是升级https,配置好后localhost,127.0.0.1都可以访问但 ...
- Nginx反向代理:通过外网访问内网数据库(mysql)
Nginx反向代理:通过外网访问内网数据库 前言 项目场景: 问题描述及分析: 解决方案: 1 在部署nginx里配置端口IP 2 在外网nginx配置反向代理参数 3 重启nginx 前言 部署ng ...
- 阿里云centOS7安装好Nginx设置外网可以访问80端口
欢迎扫描底部关注:快乐学习与分享 1.将默认的firewall防火墙替换成iptables 关闭firewalld防火墙 systemctl stop firewalld 设置开机禁用 systemc ...
- 腾讯云数据库TDSQL-C(原CynosDB)的外网访问配置
笔者的电脑安装mysql数据库总是遇到奇奇怪怪的问题,所以笔者决定不再折腾自己的电脑,使用云数据库,当然对于笔者来说,那肯定是越便宜越好.腾讯云数据库TDSQL-C(原CynosDB)对于学生(24岁 ...
- 如何让你自己做的网站他人可以访问——外网访问
运行网站需要在服务器系统上安装WEB服务器,IIS 主要用于 Windows 服务器,Apache.Nginx 多用于 Linux 服务器(即 LAMP 和 LNMP). 1.安装IIS: 单击:&q ...
最新文章
- 2021-2027年中国手机结构件行业投资分析及发展战略研究咨询报告
- 转载--微分几何为何必然兴起?
- BigDecimal的8种精度取舍方式
- python3内存分析_调试和分析 - tracemalloc —- 跟踪内存分配 - 《Python 3.7 标准库》 - 书栈网 · BookStack...
- mifare classic 2.2.3中文_西班牙人为什么学中文?他们是这么说的……
- 中文编程汉语编程实例
- minium环境配置——微信开发者工具
- 神州数码服务器型号,[DCN]神州数码无线常用配置
- 英特尔老款CPU支持虚拟化对照表(转)
- JS调用Arcgis实现地图中心点画圆
- abbyyfinereader软件下载中文注册免安装激活版
- LibreOffice 6.2.2 Office办公套件发布
- abaqus python_abaqus python脚本入门
- 火车头+php教程,dede使用火车头采集视频教程
- ERP不规范,同事哭晕在厕所
- Android NDK下STD库share static方式加载 (so库混乱调用问题)
- 商用计算机可信系统,可信计算机系统安全评价标准.ppt
- 幂函数 指数函数 对数函数
- Swift实现iOS录音与播放音频功能
- php开源搬家,迅睿CMS 网站迁移搬家