之前有介绍过Squid构建透明代理缓存服务器,Nginx就比较全能了,做为透明代理也不错。
修改Nginx配置文件,在http段添加:
proxy_cache_path /path/proxy_cache levels=1:2 keys_zone=cache_one:30m inactive=10d max_size=10g;
#定义缓存名称cache_one,2级目录,内存缓存30M,硬盘10G,10未访问内容删除
proxy_temp_path /path/proxy_tmp;
server段配置:
server {
listen 3128;
resolver 8.8.8.8;
proxy_cache cache_one;
proxy_max_temp_file_size 10m;
location / {
proxy_pass http://$host$request_uri;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
}
location ~ .*\.(php|jsp|cgi|asp)?$ {
proxy_pass http://$host$request_uri;
}
}
Iptables配置:
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 80 -j REDIRECT --to-ports 3128
标签:nginx, linux, 透明代理, nginx配置透明代理
你好想请教一下NGINX的缓存怎么搞。我试了没搞通。能否加QQ:357160108帮一下我呢?谢谢
新建缓存目录,赋予nginx用户写入读取权限,按此教程添加到配置文件即可,有问题可联系我QQ,谢谢。
您好,想用Nginx做个透明代理,客户端机器配置下网关(即Nginx那台机器),客户端dns配置223.5.5.5,请问Nginx如何配置可以实现http/https透明代理,谢谢!
你的这个配置需要浏览器设置代理ip+port, 现在假设不设置,只配置客户端网关为Nginx那台机器即可。如何实现呢? 即透明代理而非正向代理。谢谢
可以了 只是https透明代理如何做呢?