nginx.conf控制指定的代理ip和ip访问的设置手记
工作中有一次用到利用nginx的配置来让只有公司ip的访问才能打开指定的后台url,于是有了下面的记录。
在nginx中if很弱,http://www.nginxcn.com/doc/standard/httprewrite.html,基本上不能写太复杂的条件或者是嵌套。
因为公司我(54chen)网络的设置,过去打到服务器的ip有可能是几个ip,同时也有可能是代理的ip,所以在if判断的时候,可能有多个条件。
location /administrator {
#log_format www_54chen_com ‘$remote_addr - $remote_user [$time_local] $request ‘
# ‘”$status” $body_bytes_sent “$http_referer” ‘
# ‘”$http_user_agent” “$http_x_forwarded_for”‘;
# access_log /data/www.log www_54chen_com;
set $fuck 0;
if ($remote_addr = ’1.1.1.1′){
set $fuck 1;
}
if ($remote_addr = ’1.1.1.2′){
set $fuck 1;
}
if ($remote_addr = ’1.1.1.3′){
set $fuck 1;
}
if ($http_x_forwarded_for = ’2.2.2.2′) {
set $fuck 1;
}
if ($fuck = 0){
return 404;
}
#此处还需要填写和其他location一样的以提供正常服务环境
}
1) 1.1.1.1 1.1.1.2 1.1.1.3都是直接ip地址
2) 2.2.2.2是代理之前的ip地址
另外流行的另一种做法:
allow 1.1.1.1;
allow 1.1.1.2;
allow 1.1.1.3;
deny all;
但此方法我(54chen)始终没找到支持代理的判断。
建议继续学习:
- 配置Nginx+uwsgi更方便地部署python应用 (阅读:106247)
- 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (阅读:33339)
- 解析nginx负载均衡 (阅读:15905)
- Nginx模块开发入门 (阅读:10675)
- 检查nginx配置,重载配置以及重启的方法 (阅读:10142)
- Cacti 添加 Nginx 监控 (阅读:9881)
- Nginx+FastCgi+Php 的工作机制 (阅读:9683)
- nginx的配置文件 (阅读:9446)
- 奇怪的 Nginx 的 upstream timed out 引起响应 502 (阅读:9349)
- 让安卓手机通过代理翻墙的方法 (阅读:8432)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:54chen 来源: 五四陈科学院-坚信科学,分享技术
- 标签: ip nginx 代理
- 发布时间:2010-10-17 22:21:49
-
[888] WordPress插件开发 -- 在插件使用 -
[136] 解决 nginx 反向代理网页首尾出现神秘字 -
[57] 整理了一份招PHP高级工程师的面试题 -
[54] 如何保证一个程序在单台服务器上只有唯一实例( -
[54] 分享一个JQUERY颜色选择插件 -
[54] 用 Jquery 模拟 select -
[53] Innodb分表太多或者表分区太多,会导致内 -
[53] jQuery性能优化指南 -
[51] 海量小文件存储 -
[51] 全站换域名时利用nginx和javascri
