nginx访问控制:如何通过map来控制http_x_forwarded_for访问限制

通过map修改访问限制

目前,仓库通过allow host的方式来控制访问,但实际上没有启到作用,请求从lb过来,host已经变化,所以需要用http_x_forwarded_for来做限制。

允许访问ip
19.29.55.15 13.56.217.135 211.22.42.100 119.9.14.149其他都403
影响范围:

不升级的情况下不影响
实现方法:
1、map(用于http段)
2、location if else来判断(server)

map:

map $http_x_forwarded_for $access
{

default false;
123.56.27.15 true;
123.103.7.29 true;
101.21.57.187 true;
221.12.42.100 true;
116.7.37.5 true;
10.150.189.186 true;
41.29.245.18 true;
}if ( $access = 'false')
{
return 403;
}

location:

set $access false;

if ( $http_x_forwarded_for = '123.56.27.135' ) {

set $access true;

}
if ( $http_x_forwarded_for = '119.29.144.149' ) {

set $access true;

}
if ( $http_x_forwarded_for = '119.29.55.135' ) {

set $access true;

}
if ( $http_x_forwarded_for = '221.122.42.100' ) {

set $access true;

}
if ( $access = 'false') {

return 403;

}

时间: 2024-10-10 00:31:07

nginx访问控制:如何通过map来控制http_x_forwarded_for访问限制的相关文章

Nginx访问控制及日志处理

Nginx http://www.aliyun.com/zixun/aggregation/38609.html">访问控制 1.Nginx 身份证验证 #cd /usr/local/nginx/conf#mkdir htpasswd/usr/local/apache2/bin/htpasswd -c /usr/local/nginx/conf/htpasswd/tongji linuxtone#添加用户名为linuxtoneNew password: (此处输入你的密码)Re-type

线程同步工具(一)控制并发访问资源

声明:本文是< Java 7 Concurrency Cookbook>的第三章, 作者: Javier Fernández González 译者:郑玉婷     控制并发访问资源 这个指南,你将学习怎样使用Java语言提供的Semaphore机制.Semaphore是一个控制访问多个共享资源的计数器. Semaphore的内容是由Edsger Dijkstra引入并在 THEOS操作系统上第一次使用. 当一个线程想要访问某个共享资源,首先,它必须获得semaphore.如果semaphor

线程同步工具(二)控制并发访问多个资源

声明:本文是< Java 7 Concurrency Cookbook>的第三章, 作者: Javier Fernández González 译者:郑玉婷 控制并发访问多个资源 在并发访问资源的控制中,你学习了信号量(semaphores)的基本知识. 在上个指南,你实现了使用binary semaphores的例子.那种semaphores是用来保护访问一个共享资源的,或者说一个代码片段每次只能被一个线程执行.但是semaphores也可以用来保护多个资源的副本,也就是说当你有一个代码片段

ubuntu-Ubuntu 如何禁止普通用户转换成root,并控制其访问特定文件夹?

问题描述 Ubuntu 如何禁止普通用户转换成root,并控制其访问特定文件夹? ubuntu跟其他linux有点不一样,一个普通用户只要输入自己的密码就可以登录root了,怎样禁止这种行为?还有,应该设置哪些内容控制其只能访问特定的文件夹.用途:SFTP 解决方案 让他以普通用户身份登录即可,他就不能访问root文件夹. 解决方案二: 不把用户账号加到sudoers中

nginx访问控制allow、deny(ngx_http_access_module)

单看nginx模块名ngx_http_access_module,很多人一定很陌生,但是deny和allow相比没一个人不知道的,实际上deny和allow指令属于ngx_http_access_module.我们想控制某个uri或者一个路径不让人访问,在nginx就得靠它了. nginx的访问控制模块语法很简单,至少比apache好理解,apache的allow和deny的顺序让很多初学者抓头.好了具体看下这个插件的使用方法吧. 1.安装模块 这个模块内置在了nginx中,除非你安装中使用了–

控制云访问的5个简单的步骤

企业IT管理人员要如何才能带来对于公共云服务的使用的秩序和问责制,同时又不影响进程的处理呢?每一种技术的成功故事也是一个后果意想不到的故事.例如,采取虚拟化技术.虚拟化技术的采用给了我们带来了前所未有的硬件资源的利用率.其使得过去需要几个月的配置的过程现在仅仅只需要几分钟.其给我们带来了曾经无法想象的灵活性和速度,形成了在今天已经如此盛行的公共云和私有云平台的核心基础. 每一种技术的成功故事也是一个后果意想不到的故事.例如,采取虚拟化技术.虚拟化技术的采用给了我们带来了前所未有的硬件资源的利用率

nginx&amp;apache中禁止指定文件或目录访问的方法

[apache配置禁止访问] 1. 禁止访问某些文件/目录 增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:  代码如下 复制代码 <Files ~ ".inc$"> Order allow,deny Deny from all </Files> 禁止访问某些指定的目录:(可以用 <DirectoryMatch> 来进行正则匹配)  代码如下 复制代码 <Directory ~ "^/var/www

Nginx如何设置拒绝或允许指定ip访问

location ~ /druid/ { #deny 192.168.1.1; allow 192.168.1.1; deny all; proxy_pass http://127.0.0.1:8080; } nginx拒绝或允许指定IP,是使用模块HTTP访问控制模块(HTTP Access).控制规则按照声明的顺序进行检查,首条匹配IP的访问规则将被启用. location / { deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/

如何交换机控制上网访问时间

伴随着Internet"身影"的随处可见,越来越多的单位都已经架设了自己的局域网网络,不过局域网在给各位员工日常办公.共享上网带来便利同时,也时刻会遭遇网络病毒袭击.IP地址被非法抢用.员工上班期间随意玩游戏等现象;为了确保正常的工作秩序,单位领导要求笔者对单位局域网网络进行严格管理,特别是要对员工的上网时间进行严格控制,禁止他们随意在上班期间上网访问. 组网情况 笔者所在单位的局域网是2005年年底建成的,该局域网通过RG-WALL 100型号的硬件防火墙连接到Internet网络,