国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > CentOS系统Squid反向代理

CentOS系统Squid反向代理

来源:程序员人生   发布时间:2015-04-20 07:53:35 阅读次数:3904次

CentOS 联网后,履行运行yum进行安装

默许是squid3

yum install squid

安装完成后,默许squid并没有启动,但是服务中已存在该服务,我们可以通过命令让其启动或停止

serivce squid status //判断服务是不是运行 serivce squid start//启动squid service squid stop//停止squid


安装后,squid并没有运行。


---------------------------------------------

squid用处:

1.缓存代理服务器:当代理站点屡次要求同1个文件的时候,squid会从本身缓冲池中取数据,性能提高。可以实现局域网到互联网的互通。

2.安全:暴露给外界的地址信息是squid代理服务器的信息,如果收到网络攻击,本身服务不受影响。

3.访问策略:内置防火墙可以限制访问时间,下载附件大小。。等设置。


代理:

正向代理:通过代理服务器,内网访问外网

反向代理:通过代理服务器,外网访问内网

透明朝理:不需要知道ip,port等信息,就自动通过代理完成,客户端根本不知道自己是通过代理情势上网。


使用squid需要修改配置文件

vi /etc/squid/squid.conf

默许配置文件很臃肿,在/etc/squid里有个squid.conf.bak 这个和squid.conf是1样的备份文件。


-----------------------------------

环境如图:

squid 3 配置文件已简化,很多网上配置都是2版本的,不使用的,看1下squid3的配置文件,这个是1个最简单的

把原来的squid.conf删除

rm squid.conf

创建squid.conf

vi squid.conf

配置文件内容以下:

http_port 3128 #squid 运行端口,默许就是3128 visible_hostname localhost.localdomain#squid所在机器的hostname acl innet src 10.0.2.0/24#访问squid允许通过网关 http_access allow innet#acl防火墙允许innet配置的网关内ip通过 http_access deny all#谢绝其他网段访问

经常使用命令以下:

service squid start#启动服务 service squid stop#停止服务 service squid restart#重启服务 squid -k reconfigure#热部署配置文件 /usr/local/squid/sbin/squid -z 初始化缓存空间 /usr/local/squid/sbin/squid 启动 /usr/local/squid/sbin/squid -k shutdown 停止 /usr/local/squid/sbin/squid -k reconfigure 重新载入配置文件 /usr/local/squid/sbin/squid -k rotate 轮循日志

修改后启动便可。

设置阅读器为代理模式,通过我们设置好的代理去访问,这样squid代理服务器会自动转发要求信息。


设置好以后,我们就能够输入url地址进行网页访问了


如果你输入的ip地址不正确 那末squid将会报错

我们修改1下防火墙acl的网关地址


其实包括 管理员联系邮箱等信息都是可以配置的,更详细的设置信息可以自行Google

#acl all src 0.0.0.0/0.0.0.0 and http_access allow all选项定义了1个访问控制列表。详细情况参见和Squid软件 #携带的文档。这里的访问控制列表允许所有对代理服务的访问,由于这里该代理是加速web服务器。 acl all src 0.0.0.0/0.0.0.0 #允许所有IP访问 acl manager proto http #manager url协议为http acl localhost src 127.0.0.1/255.255.255.255 #允午本机IP acl to_localhost dst 127.0.0.1 #允午目的地址为本机IP acl Safe_ports port 80 # 允许安全更新的端口为80 acl CONNECT method CONNECT #要求方法以CONNECT http_access allow all #允许所有人使用该代理.由于这里是代理加速web服务器 http_reply_access allow all #允许所有客户端使用该代理 acl OverConnLimit maxconn 16 #限制每一个IP最大允许16个连接,避免攻击 http_access deny OverConnLimit icp_access deny all #制止从邻居服务器缓冲内发送和接收ICP要求. miss_access allow all #允许直接更新要求 ident_lookup_access deny all #制止lookup检查DNS http_port 8080 transparent #指定Squid监听阅读器客户要求的端口号。 hierarchy_stoplist cgi-bin ? #用来强迫某些特定的对象不被缓存,主要是处于安全的目的。 acl QUERY urlpath_regex cgi-bin ? cache deny QUERY cache_mem 1 GB #这是1个优化选项,增加该内存值有益于缓存。应当注意的是: #1般来讲如果系统有内存,设置该值为(n/)3M。现在是3G 所以这里1G fqdncache_size 1024 #FQDN 高速缓存大小 maximum_object_size_in_memory 2 MB #允许最大的文件载入内存 memory_replacement_policy heap LFUDA #动态使用最小的,移出内存cache cache_replacement_policy heap LFUDA #动态使用最小的,移出硬盘cache cache_dir ufs /home/cache 5000 32 512 #高速缓存目录 ufs 类型 使用的缓冲值最大允午1000MB空间, #32个1级目录,512个2级目录 max_open_disk_fds 0 #允许最大打开文件数量,0 无穷制 minimum_object_size 1 KB #允午最小文件要求体大小 maximum_object_size 20 MB #允午最大文件要求体大小 cache_swap_low 90 #最小允许使用swap 90% cache_swap_high 95 #最多允许使用swap 95% ipcache_size 2048 # IP 地址高速缓存大小 2M ipcache_low 90 #最小允许ipcache使用swap 90% ipcache_high 95 #最大允许ipcache使用swap 90% access_log /var/log/squid/access.log squid #定义日志寄存记录 cache_log /var/log/squid/cache.log squid cache_store_log none #制止store日志 emulate_httpd_log on #将使Squid仿照Web服务器的格式创建访问记录。如果希望使用 #Web访问记录分析程序,就需要设置这个参数。 refresh_pattern . 0 20% 4320 override-expire override-lastmod reload-into-ims ignore-reload #更新cache规则 acl buggy_server url_regex ^http://.... http:// #只允许http的要求 broken_posts allow buggy_server acl apache rep_header Server ^Apache #允许apache的编码 broken_vary_encoding allow apache request_entities off #制止非http的标分准要求,避免攻击 header_access header allow all #允许所有的http报头 relaxed_header_parser on #不严格分析http报头. client_lifetime 120 minute #最大客户连接时间 120分钟 cache_mgr sky@test.com #指定当缓冲出现问题时向缓冲管理者发送告警信息的地址信息。 cache_effective_user squid #这里以用户squid的身份Squid服务器 cache_effective_group squid icp_port 0 #指定Squid从邻居服务器缓冲内发送和接收ICP要求的端口号。 #这里设置为0是由于这里配置Squid为内部Web服务器的加速器, #所以不需要使用邻居服务器的缓冲。0是禁用 # cache_peer 设置允许更新缓存的主机,因是本机所以127.0.0.1 cache_peer 127.0.0.1 parent 80 0 no-query default multicast-responder no-netdb-exchange cache_peer_domain 127.0.0.1 hostname_aliases 127.0.0.1 error_directory /usr/share/squid/errors/Simplify_Chinese #定义毛病路径 always_direct allow all # cache丢失或不存在是允许所有要求直接转发到原始服务器 ignore_unknown_nameservers on #开反DNS查询,当域名地址不相同时候,制止访问 coredump_dir /var/log/squid #定义dump的目录 max_filedesc 2048 #最大打开的文件描写 half_closed_clients off #使Squid在当read不再返回数据时立即关闭客户真个连接。 #有时read不再返回数据是由于某些客户关闭TCP的发送数据 #而依然保持接收数据。而Squid分辨不出TCP半关闭和完全关闭。 buffered_logs on #若打开选项“buffered_logs”可以稍稍提高加速某些对日志文件的写入,该选项主要是实现优化特性。 #避免天涯盗链,转嫁给百度 acl tianya referer_regex -i tianya http_access deny tianya deny_info tianya #禁止baidu蜘蛛 acl baidu req_header User-Agent Baiduspider http_access deny baidu #限制同1IP客户真个最大连接数 acl OverConnLimit maxconn 128 http_access deny OverConnLimit #避免被人利用为HTTP代理,设置允许访问的IP地址 acl myip dst 222.18.63.37 http_access deny !myip #允许本地管理 acl Manager proto cache_object acl Localhost src 127.0.0.1 222.18.63.37 http_access allow Manager Localhost cachemgr_passwd 53034338 all http_access deny Manager #仅仅允许80端口的代理 acl all src 0.0.0.0/0.0.0.0 acl Safe_ports port 80 # http http_access deny !Safe_ports http_access allow all #Squid信息设置 visible_hostname happy.swjtu.edu.cn cache_mgr ooopic2008@qq.com #基本设置 cache_effective_user squid cache_effective_group squid tcp_recv_bufsize 65535 bytes #2.6的反向代理加速配置 cache_peer 127.0.0.1 parent 80 0 no-query originserver #毛病文档 error_directory /usr/local/squid/share/errors/Simplify_Chinese #单台使用,不使用该功能 icp_port 0 hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin ? .php .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .exe cache deny QUERY acl apache rep_header Server ^Apache broken_vary_encoding allow apache refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 cache_store_log none pid_filename /usr/local/squid/var/logs/squid.pid emulate_httpd_log on logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh cache_log /usr/local/squid/var/logs/cache.log access_log /usr/local/squid/var/logs/access.log combined coredump_dir /usr/local/squid/var/cache cache_dir ufs /usr/local/squid/var/cache 10000 16 256 dns_children 32 hosts_file /etc/hosts cache_mem 400 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 32768 KB maximum_object_size_in_memory 4096 KB emulate_httpd_log on #避免盗链 acl picurl url_regex -i .bmp$ .png$ .jpg$ .gif$ .jpeg$ acl mystie1 referer_regex -i happy.swjtu.edu.cn http_access allow mystie1 picurl acl nullref referer_regex -i ^$ http_access allow nullref acl hasref referer_regex -i .+ http_access deny hasref picurl


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生