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 ^ ; 未定义ip即非移动ip重定向到;
}
root /data/www;
index index.wml index.html;
}
}
}
cmcc.conf 文件内容如下:
211.136.222.90/32 0;