A服务器:192.168.0.1 (前端代理服务器)
B服务器:192.168.0.2(后端主服务器)
原理:用户访问一个www.xx.com域名,DNS指向代理服务器A,代理服务器根据域名本地查找有没有记录,如果有直接返回信息,没有,则将请求发给后端主服务器,后端服务器处理完将数据发给代理服务器,代理服务器将数据发给客户端。
代理服务器A:nginx.conf配置
- http {
- ....
- client_header_buffer_size 128k; #防止cookie过期,不能访问
- proxy_temp_path /dev/shm/homebase;
- proxy_cache_path /dev/shm/homebase_cache levels=1:2 keys_zone=cache:200m inactive=1d max_size=500m;
- 注:
- proxy_temp_path proxy_cache_path 需在同一分区
- proxy_temp_path /dev/shm/?? 将文件放到内存中
- proxy_temp_path /data/cache/?? 将文件放到目录中
- keys_zone=cache 设置缓存区名称
- keys_zone=cache:200m 设置缓存区的大小
- inactive=1d 有效期 1d 1天 ,1h 1小时
- max_size=500m; 设置最大大小
- server {
- ....
- location / {
- proxy_pass 192.168.0.2; 指定主服务器的ip地址
- proxy_cache cache; 缓存区名称
- proxy_cache_valid 200 304 12h;
- proxy_cache_key $host$uri$is_args$args;
- expires 1d;
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Is-EDU 0;
- }
- ....
- }
- }
转载于:https://blog.51cto.com/johnsteven/817359