15. Nginx Geo

IP数据库下载地址:

国家数据库:http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

城市数据库:http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

http {
  geoip_country /path/to/GeoIP.dat;
  geoip_city /path/to/GeoLiteCity.dat;
  server{
    listen 3592;
    server_name www.siguoya.name;
    location / {
      default_type text/plain;
      if ($geoip_country_code != ‘CN‘){
        return 403;
      }
      return 200 "$remote_addr $geoip_city_country_name $geoip_country_code $geoip_city";
    }
  }
}

访问:http://www.siguoya.name:3592/

119.32.216.122 China CN Guangzhou

专题阅读

原文地址:https://www.cnblogs.com/zy108830/p/12600377.html

时间: 2024-10-23 13:08:49

15. Nginx Geo的相关文章

[Nginx配置系列] 基于Nginx Geo与 Nginx Map模块进行Nginx白名单配置

一.简介 在通常情况下,使用 nginx 基于 ip 限制访问请求频率等限制内容,我们会需要对特定ip进行限制排除操作,因此本文引入了基于nginx geo 与 nginx map 进行此类情景相关配置: 在没有人为操作删除的情况下(without-http_geo_module),nginx默认模块中已经加载了ngx-http-geo-module相关内容: ngx-http-geo-module可以用来创建变量,变量值依赖于客户端 ip 地址; ngx-http-map-module可以基于

12.13 Nginx防盗链;12.14 Nginx访问控制;12.15 Nginx解析php相关配

扩展: 502问题汇总  : http://ask.apelearn.com/question/9109 location优先级 : http://blog.lishiming.net/?p=100 12.13 Nginx防盗链 设定目录访问受限: 1. 配置test.com网站目录的防盗链,编辑虚拟主机配置文件 : [[email protected] ~]# vim /usr/local/nginx/conf/vhost/test.com.conf 插入黄框内容(注释掉红框行): locat

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配

12.13 Nginx防盗链 vim /usr/local/nginx/conf/vhost/test.com.conf加入location ~ ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)${expires 7d;valid_referers none blocked server_names .test.com ;if ($invalid_referer) {return 403;}access_log off;}

Nginx geo模块

L79 geo 模块默认编译进nginx 可以通过--without-http_geo_module禁用 Syntax: geo [$address] $variable { ... } Default: — Context: http 1:如果geo指令后不输入$address 那么默认就使用变量$remite_addr作为ip地址 2:{} 内的指令匹配:优先最长匹配 geo $country { default ZZ; proxy 116.196.115.53; 127.0.0.0/24

15.Nginx负载均衡&SSL密钥对&Nginx配置SSL

[toc] 扩展 针对请求的uri来代理 http://ask.apelearn.com/question/1049 根据访问的目录来区分后端的web http://ask.apelearn.com/question/920 nginx长连接 http://www.apelearn.com/bbs/thread-6545-1-1.html nginx算法分析 http://blog.sina.com.cn/s/blog_72995dcc01016msi.html Nginx负载均衡 负载均衡在服

15.Nginx动静分离Rewrite

1.什么是动静分离? 将动态请求和静态请求区分访问, 2.为什么要做动静分离? 静态由Nginx处理, 动态由PHP处理或Tomcat处理.... 因为Tomcat程序本身是用来处理jsp代码的,但tomcat也能处理静态资源. tomcat本身处理静态效率不高,还会带来资源开销. 3.如何实现动静分离? Nginx根据客户端请求的url来判断请求的是否是静态资源,如果请求的url包含jpg.png,则由Nginx处理. 如果请求的url是.php或者.jsp等等,这个时候这个请求是动态的,将转

6. Nginx浏览器缓存原理

与缓存有关的请求头 key value 说明 Cache-Control max-age=0 客户端向服务器端表明,如果缓存过期了,但是过期时间还没有超过指定时间(以秒为单位),则直接返回304即可. If-Modified-Since Wed, 09 Aug 2017 10:28:55 GMT 根据修改时间来判断文件是否修改过.如果没有修改,则使用缓存. If-None-Match 598ae3e7-c 根据hash来判断文件是否修改过,如果没有修改,则使用缓存. 与缓存有关的响应头 key

12. Nginx动静分离

一般来说,静态资源是指JavaScript.CSS.Img等文件,动态资源则是通过PHP.Java等后端语言运行一系列的代码逻辑来获取的. 如果是静态资源的请求,就直接让nginx在静态资源目录下面读取,然后返回给客户端 如果是动态资源的请求,则nginx利用反向代理把请求转发给后端应用去处理,然后后端应用将结果返回给nginx,nginx再返回给客户端 在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时减轻后端应用的处理压力.拿PHP之Laravel框架来说,简单的获取一个静态文

11. Nginx缓存

缓存类型 浏览器缓存 Nginx代理服务器缓存 服务器缓存,例如Redis.Memcache等 缓存配置 http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path upstream backend { server x.x.x.x:1023; server x.x.x.x:1024; server x.x.x.x:1025; } #缓存存放的位置是 /data/nginx/cache,目录层级为两层,最多存