nginx geo模块 实现分布式均衡负载

范堡 发布于 2010/03/03 16:45
阅读 1K+
收藏 4

nginx的geo模块可以做全局负载均衡,可以要根据客户端ip访问到不同的server。比如,可以将电信的用户访问定向到电信服务器,网通的用户重定向到网通服务器。
我这里实现只有移动手机用户才能访问服务器。首先要收集全移动网关ip.
配置如下:

worker_processes 1;
events {
        worker_connections 1024;
}

http {
        include         mime.types;
        default_type    application/octet-stream;
        sendfile        on;
        keepalive_timeout 65;
        geo $cmccip {
                default 1;   # 未定义ip的值为1
                include cmcc.conf; 加载geo.conf文件,这个文件定义移动网关ip
        }
        server {
                listen 801;
                server_name XXXXX;
                location / {
                        if ($cmccip) {
                                rewrite ^ http://tx.com.cn;   未定义ip即非移动ip重定向到tx.com.cn;
                        }
                        root /data/www;
                        index index.wml index.html;

                }
        }
}


cmcc.conf文件内容如下:
211.136.222.90/32 0;

加载中
返回顶部
顶部