Nginx官方文档(四十六)【ngx_stream_access_module|ngx_stream_geo_module|ngx_stream_geoip_module】
ngx_stream_access_module
- 示例配置
- 指令
- allow
- deny
ngx_stream_access_module
模块(1.9.2)允许对某些客户端地址限制访问。
示例配置
server {...deny 192.168.1.1;allow 192.168.1.0/24;allow 10.1.1.0/16;allow 2001:0db8::/32;deny all;
}
按顺序检查规则,直到找到第一个匹配项。在此示例中,仅允许 IPv4 网络 10.1.1.0/16
和 192.168.1.0/24
(不包括地址 192.168.1.1
)和 IPv6 网络2001:0db8::/32
进行访问。
指令
allow
- | 说明 |
---|---|
语法 |
allow address | CIDR | unix: | all ;
|
默认 | —— |
上下文 | stream、server |
允许指定的网络或地址访问。如果指定了值 unix:
,则允许访问所有 UNIX 域套接字。
deny
- | 说明 |
---|---|
语法 |
deny address | CIDR | unix: | all ;
|
默认 | —— |
上下文 | stream、server |
拒绝指定的网络或地址访问。如果指定了值 unix:
,则拒绝所有 UNIX 域套接字的访问。
原文档
http://nginx.org/en/docs/stream/ngx_stream_access_module.html
ngx_stream_geo_module
- 示例配置
- 指令
- geo
ngx_stream_geo_module
模块(1.11.3)用于创建依赖于客户端 IP 地址的变量。
示例配置
geo $geo {default 0;127.0.0.1 2;192.168.1.0/24 1;10.1.0.0/16 1;::1 2;2001:0db8::/32 1;
}
指令
geo
- | 说明 |
---|---|
语法 |
geo [$address] $variable { ... } ;
|
默认 | —— |
上下文 | stream |
描述指定变量的值与客户端 IP 地址的依赖关系。默认情况下,地址取自 $remote_addr
变量,但也可以从其他变量中获取,例如:
geo $arg_remote_addr $geo {...;
}
由于变量仅在使用时进行求值,因此即使存在大量已声明的
geo
变量增加连接处理的额外成本。
如果变量($variable
)的值不是有效的 IP 地址,则使用 255.255.255.255
地址。
地址($address
)可为 CIDR 记法中的前缀(包括单个地址)或作为范围。
还支持以下特殊参数:
delete
删除指定的网络
default
如果客户端地址与所有指定的地址都不匹配,则设置为该变量的值。当以 CIDR 记法指定地址时,使用
0.0.0.0/0
和::/0
而不是默认值。如果未指定default
,则默认值为空字符串。include
包含一个有地址和值的文件,文件中可以有多个记录。
ranges
表示地址指定为范围形式。这个参数应该放在第一个。要加快地理数据的加载速度,地址应按升序排列。
示例:
geo $country {default ZZ;include conf/geo.conf;delete 127.0.0.0/16;127.0.0.0/24 US;127.0.0.1/32 RU;10.1.0.0/16 RU;192.168.1.0/24 UK;
}
conf/geo.conf
文件包含以下内容:
10.2.0.0/16 RU;
192.168.2.0/24 RU;
使用最佳匹配的值。例如,对于 127.0.0.1 地址,将选择值 RU
,而不是 US
。
范围指定示例:
geo $country {ranges;default ZZ;127.0.0.0-127.0.0.0 US;127.0.0.1-127.0.0.1 RU;127.0.0.1-127.0.0.255 US;10.1.0.0-10.1.255.255 RU;192.168.1.0-192.168.1.255 UK;
}
原文档
http://nginx.org/en/docs/stream/ngx_stream_geo_module.html
ngx_stream_geoip_module
- 示例配置
- 指令
- geoip_country
- geoip_city
- geoip_org
ngx_stream_geoip_module
模块(1.11.3)使用预编译的 MaxMind 数据库创建依赖于客户端 IP 地址的变量。
使用支持 IPv6 的数据库时,查找 IPv4 地址将转为查找 IPv4 映射的 IPv6 地址。
默认构建不包含此模块,可在构建时使用 --with-stream_geoip_module
配置参数启用。
该模块需要 MaxMind GeoIP 库。
示例配置
stream {geoip_country GeoIP.dat;geoip_city GeoLiteCity.dat;map $geoip_city_continent_code $nearest_server {default example.com;EU eu.example.com;NA na.example.com;AS as.example.com;}...
}
指令
geoip_country
- | 说明 |
---|---|
语法 |
geoip_country file ;
|
默认 | —— |
上下文 | stream |
指定用于根据客户端 IP 地址确定国家的数据库。使用此数据库时,以下变量可用:
$geoip_country_code
两个字母表示的国家代码,比如
RU
、US
$geoip_country_code3
三个字母表示的国家代码,比如
RUS
、USA
$geoip_country_name
国家名称,比如
Russian Federation
、United States
geoip_city
- | 说明 |
---|---|
语法 |
geoip_city file ;
|
默认 | —— |
上下文 | stream |
指定用于根据客户端 IP 地址确定国家、地区和城市的数据库。使用此数据库时,以下变量可用:
$geoip_area_code
电话区号(仅限美国)
因为使用到过时的数据库字段,此变量可能包含过时的信息。
$geoip_city_continent_code
两个字母表示的大陆代码,比如
RU
、US
$geoip_city_country_code
两个字母表示的国家代码,比如
RU
、US
$geoip_city_country_code3
三个字母表示的国家代码,比如
RUS
、USA
$geoip_city_country_name
国家名称,比如
Russian Federation
、United States
$geoip_dma_code
美国 DMA 区域代码(也称为都市代码),根据 Google AdWords API 中的地理位置定位。
$geoip_latitude
维度
$geoip_longitude
经度
$geoip_region
双符号国家区域代码(地区、领土、州、省、联邦土地等),例如
48
、DC
。$geoip_region_name
国家地区名称(地区、领土、州、省、联邦土地等),例如:
Moscow City
、District of Columbia
。$geoip_city
城市名称,例如:
Moscow”
、Washington
。$geoip_postal_code
邮政编码
geoip_org
- | 说明 |
---|---|
语法 |
geoip_org file ;
|
默认 | —— |
上下文 | stream |
指定用于根据客户端 IP 地址确定组织的数据库。使用此数据库时,以下变量可用:
$geoip_org
组织名称,例如:
The University of Melbourne
。
原文档
http://nginx.org/en/docs/stream/ngx_stream_geoip_module.html
Nginx官方文档(四十六)【ngx_stream_access_module|ngx_stream_geo_module|ngx_stream_geoip_module】相关推荐
- Nginx官方文档(三十四)【ngx_http_ssl_module】
ngx_http_ssi_module 示例配置 指令 ssl ssl_buffer_size ssl_certificate ssl_certificate_key ssl_ciphers ssl_ ...
- Nginx官方文档(四十七)【ngx_stream_js_module|ngx_stream_keyval_module|ngx_stream_limit_conn_module】
ngx_stream_js_module 示例配置 指令 js_access js_filter js_include js_preread js_set 会话对象属性 ngx_stream_js_m ...
- Nginx官方文档(三十二)【ngx_http_slice_module|ngx_http_spdy_module】
ngx_http_slice_module 示例配置 指令 slice 内嵌变量 ngx_http_slice_module 模块(1.9.8)是一个过滤器,它将请求拆分为子请求,每个子请求都返回一定 ...
- ABP官方文档(四十四)【后台作业和后台工人】
7.1 ABP后台服务 - 后台作业和后台工人 7.1.1 简介 ABP提供了后台作业和后台工人,来执行应用程序中的后台线程的某些任务. 7.1.2 后台作业 由于各种各样的原因,你需要后台作业以队列 ...
- ABP官方文档(四十五)【集成Hangfire】
7.2 ABP后台服务 - 集成Hangfire 7.2.1 简介 Hangfire是一个综合性的后台作业管理工具.你可以用Hangfire来替换ABP中默认实现的后台作业管理者.你可以对Hangfi ...
- ABP官方文档(四十九)【集成EntityFramework】
9.1 ABP基础设施层 - 集成Entity Framework ABP可以与任何ORM框架协同工作,它内置了对EntityFramework的集成支持.本文将介绍如何在ABP中使用EntityFr ...
- ESP32 官方文档(十六)ESP-MESH 编程指南
ESP-MESH 编程指南 ESP-MESH 编程指南 ESP-MESH 编程模型 软件栈 系统事件 LwIP & ESP-MESH 编写 ESP-MESH 应用程序 初始化 Mesh 配置 ...
- Nginx官方文档(十五)【HTTP之ngx_http_dav_module|ngx_http_empty_gif_module|ngx_http_f4f_module】
ngx_http_dav_module 示例配置 指令 dav_access dav_methods create_full_put_path min_delete_depth ngx_http_da ...
- Nginx官方文档(十一)【HTTP之ngx_http_core_module】
ngx_http_core_module 指令 absolute_redirect aio aio_write alias chunked_transfer_encoding client_body_ ...
最新文章
- Linux0.11小结
- 697. Degree of an Array 频率最高元素的最小覆盖子数组
- 一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛,n年后有多少头小牛
- 囚犯生存概率引发的循环思考
- php递归实现层级树状展开,PHP递归实现层级树状展开,php递归层级树状_PHP教程...
- golang之旅--接口 (interface)
- “深度学习”是人工智能的一场革命吗?
- 求两个整数最大公约数
- Aho-Corasick暂存第二篇
- Linear Mixde Model:线性混合模型简介
- win95光盘版安装方法
- Zblog博客怎么实现微博登陆?
- win10 远程桌面卡顿_win10系统使用远程桌面卡顿的解决教程
- discuz仿163k_discuz仿163K四色地方门户模板,仿163K地方模板,地方门户模板
- 向境外支付软件测试费,支付宝怎么打开境外支付?境外支付有手续费吗?
- 个人理财--知识点总结
- 如何制作电子文档CHM(How to gernerate chm from assembly)
- 怎样删除oracle注册表信息
- 单片机定时器计数原理
- 用Java实现简易计算器