nginx高级应用之反向代理和缓存功能

1.安装nginx

[cc lang="python"]
[root@kali ~]# yum install nginx
[/cc]

2.ngx_http_proxy_module模块

在nginx的主配置文件中打开。

[cc lang="python"]
server{

listen

server_name

location /{

proxy_pass

}

}

location /{

proxy_pass http://172.16.249.164:80;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

}

location ~* \.(jpg|txt)$ {

proxy_pass http://172.16.249.164;

}
[/cc]

有url重写的话,会使用重写后的结果,转向后端代理。

在后端的主机记录客户端的真实IP:

1)修改nginx的主配置文件中加入下段:

[cc lang="python"]
proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;
[/cc]

2)在后端主机上修改日志格式:

[cc lang="python"]
LogFormat "%{X-Real-IP}i  %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
[/cc]

3.proxy_cache_path缓存代理模块

1)在nginx的全局配置http里面配置:

[cc lang="python"]
proxy_cache_path  /cache/nginx/  levels=1:1:1 keys_zone=mycache:32m;
[/cc]

/cache/nginx/ 保证改文件属组主为nginx

[cc lang="python"]
[root@kali ~]# mkdir -p /cache/nginx

[root@kali ~]# chown  -R nginx.nginx /cache/nginx/
[/cc]

1:1:1 允许缓存的目录级别

2)在localtion中直接引用:

[cc lang="python"]
proxy_cache  mycache;

proxy_cache_valid  200 1d;

proxy_cache_valid   301 302 10m;

proxy_cache_valid any 1m;

proxy_cache_use_stale error  timeout   http_500  http_503 http_504;
[/cc]

nginx


发表评论

登录 后发表评论.