squid 3.5 配置正向代理缓存加速

配置文件如下

# 监听127.0.0.1:8080
http_port 127.0.0.1:8080 accel allow-direct
acl manager proto cache_object
http_access allow manager
# 对日志文件和pid文件位置进行设置 
# cache_store_log none 
# cache_access_log /var/log/squid/access.log 
# cache_log /var/log/squid/cache.log 
# pid_filename /var/run/squid.pid 

# 取消对代理阵列的支持 
icp_port 8080

# 允许所有流量
http_access allow all

# 关闭该项,这样就可以显示用户的整个请求内容
strip_query_terms off

# 64M内存缓存,2G硬盘做缓存,可自行调整
cache_mem 512 MB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 10000 16 256 #10G 磁盘缓存 目录下分16个级别,每隔级别分256个目录

# swap 性能微调 
half_closed_clients off
maximum_object_size 65536 KB
minimum_object_size 0 KB

# 设置内存中最大可缓存的最大文件大小
maximum_object_size_in_memory 512 KB
# 内存和硬盘cache的替换策略
memory_replacement_policy lru
cache_replacement_policy lru

# http1.0的vary信息里带有过期时间的话,squid还是不能缓存住。打开此选项提高缓存命中率
vary_ignore_expire on

# 合并回源,多个回源流量变成一个回源,这个在大文件时,也比较有用。
collapsed_forwarding on

# 一些优化参数
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern \.(jpg|png|gif|mp3|xml|html|htm|css|js) 1440 80% 2880 ignore-reload
refresh_pattern ^/forum/viewthread.php 1440 1000% 1440 ignore-reload
refresh_pattern . 0 20% 4320
refresh_pattern -i .html 1440 90% 129600 reload-into-ims
refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
refresh_pattern -i .hml 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif 1440 90% 129600 reload-into-ims
refresh_pattern -i .swf 1440 90% 129600 reload-into-ims
refresh_pattern -i .jpg 1440 90% 129600 reload-into-ims
refresh_pattern -i .png 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 90% 129600 reload-into-ims
refresh_pattern -i .js 1440 90% 129600 reload-into-ims

refresh_pattern -i .css$ 1440    90%     2880    reload-into-ims
refresh_pattern -i .doc$ 1440    50%     2880      ignore-reload
refresh_pattern -i .ppt$ 1440    50%     2880      ignore-reload
refresh_pattern -i .xls$ 1440    50%     2880      ignore-reload
refresh_pattern -i .pdf$ 1440    50%     2880      ignore-reload
refresh_pattern -i .rar$ 1440    50%     2880      ignore-reload
refresh_pattern -i .zip$ 1440    50%     2880      ignore-reload
refresh_pattern -i .txt$ 1440    50%     2880      ignore-reload

# 禁止代理识别
via off
forwarded_for off
request_header_access From deny all
request_header_access Server deny all
request_header_access WWW-Authenticate deny all
request_header_access Link deny all
request_header_access Cache-Control deny all
request_header_access Proxy-Connection deny all
request_header_access X-Cache deny all
request_header_access X-Cache-Lookup deny all
request_header_access Via deny all
request_header_access X-Forwarded-For deny all
request_header_access Pragma deny all
request_header_access Keep-Alive deny all

系统内核优化

net.ipv6.conf.all.accept_ra = 2

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096        87380   4194304
net.ipv4.tcp_wmem = 4096        16384   4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 15
net.ipv4.ip_local_port_range = 1024    65535

最后配置流量转发

iptables -t nat -I PREROUTING -i ens3 -s ip1/32 -p tcp --dport 80 -j REDIRECT --to-port 8080

意思是把本地ens3 网口的请求流量转发到本地8080 端口上,squid 监听的是本地8080

也可以这样写

# 将 对于 80、443 端口的访问 重定向到 3128 端口 </P><P>
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 --dport 80 -j DNAT --to  192.168.0.1:3128 
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 --dport 443 -j DNAT --to 192.168.0.1:3128

最后这个没试过,慎用

时间: 2024-11-06 12:16:39

squid 3.5 配置正向代理缓存加速的相关文章

squid配置 正向代理

什么是squidsquid可以做代理也可以做缓存squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O. squid不仅可以做正向代理,又可以做反向代理. 搭建squid正向代理官方网站为 http://www.squid-cache.org/ yum install -y squidsquid -v 查看版本以及编译参数 /etc/squid/squid.confvim /etc/squid/squid.conf加入如下配置http_port 3128acl manager p

Apache 配置正向代理

背景 代理(Proxy),位于客户端与实际服务端之间,当客户端需要请求服务端内容时,先向代理发起请求,代理将请求转发到实际的服务器,再原路返回.也可以在代理服务器设置缓存,将实际服务器上不常变化的内容进行缓存,当客户端请求到达时,直接返回,可以提高响应速度,减少不必要的网络访问. 正向代理(Forward Proxy), 这种代理方式对于客户端来说: 1. 知道实际需要访问的服务端的地址 2. 需要针对代理服务器做特殊配置 反向代理(Reverse Proxy),这种代理方式对于客户端来说: 1

Nginx代理缓存加速服务器

Nginx缓存概述 提供与Squid类似的缓存,把URL以及相关信息当成key,用MD5编码哈希后,把数据文件保存在硬盘上,并且只能为指定的URL或者状态码设置过期时间,并不支持类似 squid的purge命令来手动清除指定缓存页面,但是可以通过第三方的ngx_cache_purge来清除指定的URL缓存Nginx的缓存加速功能是由proxy_cache(用于反向代理和静态缓存)和fastcgi_cache(PHP动态缓存)两个功能模块完成 1.proxy_cache原理 2.Nginx缓存特点

squid服务之配置透明代理

透明代理提供的服务功能与传统代理时一致的,但是其"透明"的实现依赖于默认路由和防火墙的重定向策略,因此更适用于局域网主机服务,而不适合Internet中. 网络环境如下: 项目大概流程如下: 在Linux网关上,构建squid为客户机访问Internet提供代理服务. 在局域网所有的客户机上,只需有正确的IP地址.默认网关和DNS,不需要手动指定代理服务器的地址.端口等信息(若指定了反而易出错).关于客户机的DNS解析工作,最好还是通过正常的DNS服务器来提供,不建议抛给代理服务器来处

nginx配置正向代理

首先安装nginx apt-get install nginx 进入/etc/nginx/sites-enabled,运行cp default proxy,将下面的内容粘贴至proxy文件中 server{           resolver 8.8.8.8;           resolver_timeout 30s;            listen 82;           location / {                   proxy_pass http://$http

Squid 正向代理配置

Squid 正向代理配置 1.删除主配置文件重写写入配置 rm -f /etc/squid/squid.conf 2.重新写入配置正向代理 vim /etc/squid/squid.conf # 监听端口 http_port 3128 # acl权限控制 acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl loca

squid 代理缓存服务器

Squid cache(简称为Squid)是一个流行的自由软件,它符合GNU通用公共许可证.Squid作为网页服务器的前置cache服务器,可以代理用户向web服务器请求数据并进行缓存,也可以用在局域网中,使局域网用户通过代理上网.Squid主要设计用于在Linux一类系统运行 代理服务器原理 代理服务器接受到请求后,首先与访问控制列表中的访问规则相对照,如果满足规则,则在缓存中查找是否存在需要的信息. 对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Interne

实践出真知——基于squid实现正向代理实践

实践出真知--基于squid实现正向代理实践 前言 ? 俗话说得好:时间是治愈一切伤口的良药,实践是检验真理的唯一标准!本文将结合代理服务器的基本原理,进行基于squid软件实现传统(标准)代理(正向代理)以及透明代理的实例演示. 先说说squid是个啥 ? 避(kai)免(ge)被(wan)喷(xiao),还是介绍一下什么是squid吧. squid的概念 ? squid是一种用来缓存Internet数据的软件.用于接受来自客户端需要下载对象(object)的请求并适当的处理这些请求.也就是说

squid配置正反代理

squid配置 1. 什么是squid squid可以做代理也可以做缓存 squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O. squid不仅可以做正向代理,又可以做反向代理. 正向代理,squid后面是客户端,客户端上网要通过Squid去上:反向代理,squid后面是服务器,服务器返回给用户数据需要走squid. 正向代理用在企业的办公环境中,员工上网需要通过squid代理来上网,这样可以节省网络带宽资源.而反向代理用来搭建网站静态项(图片.html.流媒体.js.css等