代理服务器的配置包括

代理服务器的配置包括,第1张

linux下配置squid代理服务器

在Linux下配置鱿鱼

1。什么是鱿鱼

Squidcache(简称Squid)是自由软件(GNU通用公共许可证)流行的代理服务器和Web缓存服务器。Squid的用途非常广泛,从预缓存服务器作为web服务器缓存相关请求以加速Web服务器,到缓存万维网、DNS等Web搜索以供一群人共享网络资源,到通过过滤流量帮助网络安全,以及在局域网中通过代理上网。Squid主要设计为在Unix系统上运行。

鱿鱼历史悠久,功能完善。除了HTTP之外,对FTP和HTTPS的支持也相当不错,3.0beta版中也支持IPv6。

Squid可以作为代理或者缓存;

Squidcache不仅可以节省宝贵的带宽资源,还可以大大减少服务器I/O。

Squid不仅可以是正向代理,也可以是反向代理。

代理,squid跟在客户端后面,客户端要通过Squid上线;反向代理,squid后面是服务器,服务器返回给用户的数据需要走squid。

代理用于企业的办公环境。员工需要通过squid代理上网,可以节省网络带宽资源。反向代理用于为静态项目(图片、html、流媒体、js、css等)构建缓存服务器。)的,而且是用在网站架构上的。


2。构建squid转发代理

官方网站是http://www.squid-cache.org/.

命令:yuminstall-ysquid

Squid-v视图版本和编译参数(Squid缓存:版本3.1.10)

>/etc/squid/squid.confclear空配置文件;

vim/etc/鱿鱼/squid.conf

添加以下配置:

http_port 3128 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 localnet src 10.0.0.0/8     # RFC1918 possible internal network acl localnet src 172.16.0.0/12  # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl SSL_ports port 443 acl Safe_ports port 80 8080 acl Safe_ports port 21 acl Safe_ports port 443 acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localnet http_access allow localhost http_access allow all cache_dir aufs /data/cache 1024 16 256 cache_mem 128 MB hierarchy_stoplist cgi-bin ? coredump_dir /var/spool/squid refresh_pattern ^ftp:           1440    20%     10080 refresh_pattern ^gopher:        1440    0%      1440 refresh_pattern -i (/cgi-bin/|\?) 0     0%      0 refresh_pattern \.(jpg|png|gif|mp3|xml) 1440    50%     2880    ignore-reload refresh_pattern .               0       20%     4320 ######################################################### 到此结束

解释:

safe_portspot808080#http的端口

FTP的Safe_portspot21#端口

safe_portspot443#https的端口

cache_diraufs/data/cache102416256#cache空1024m大小16个一级目录,256个子目录

Cache_mem128MB#缓存可以使用的内存大小;访问内存中的数据更快;


Mkdir/data/cache#创建缓存目录

Chown-Rsquid:squid/data/cache#更改缓存目录权限

Squid-z#初始化缓存目录,squid3.1新版本可以省略。

/etc/init.d/squidstart#启动squid服务。

Squid-kcheck#可以检测配置文件是否错误;可以缩写成-kche。

Squid-krec#可以重新加载配置,简称reconfig

服务squidrestart#restartsquid服务;频繁重启很慢,可以先杀死所有鱿鱼,再启动服务;


检查配置文件,报告了一个错误:无法确定该计算机的公共主机名。请配置一个或设置“visible_hostname”。没有定义公共主机名,需要配置visible_hostname视觉主机名;(如果squid出现问题,浏览器中会显示squid的主机名)

在配置文件中添加:visible_hostnameyonglinux,不会报错;

[root@yonglinux ~]# squid -k check 2015/05/25 03:09:18| WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'. 2015/05/25 03:09:18| WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'. squid: ERROR: No running copy


在另一个linux上测试:curl-x192.168.22.30:3128www.qq.com

指定代理服务器192.168.22.30的端口3128访问网站,前提是代理服务器可以访问网站;

设置代理服务器的作用一方面是让局域网用户快速访问网站,另一方面可以控制用户访问哪些网站;禁止员工上班时间看视频、购物;


访问图片,测试缓存,缓存时间,X-Cache逐次命中,说明squid缓存工作;第一次是错过;;

[root@localhost ~]# curl -x192.168.22.30:3128 'http://www.51cto.com/p_w_picpaths/home/p_w_picpaths/logo.jpg' -I HTTP/1.0 200 OK Server: Tengine Date: Sun, 24 May 2015 13:42:43 GMT Content-Type: p_w_picpath/jpeg Content-Length: 5309 Last-Modified: Wed, 22 Jan 2014 07:55:12 GMT Expires: Sun, 31 May 2015 13:42:43 GMT Cache-Control: max-age=604800 Load-Balancing: web39 Accept-Ranges: bytes Age: 29661 X-Cache: HIT from yonglinux X-Cache-Lookup: HIT from yonglinux:3128 Via: 1.0 yonglinux (squid/3.1.10) Connection: keep-alive


将squid代理服务器设置为仅代理某些域名

设置域名白名单,允许百度搜狐访问,同时拒绝其他;

将vim/etc/squid/squid.conf的以下内容添加到squid配置文件acl中;

aclhttp协议http

ACLgood_domaindstdomain.Baidu.com.Sohu.com

http_access允许httpgood_domain

拒绝http!good_domain


用curl测试白名单,百度和搜狐返回200OK的状态码,如果qq不在白名单,则返回403;

[root@localhost ~]# curl -x192.168.22.30:3128 www.sohu.com -I HTTP/1.0 200 OK Content-Type: text/html Date: Sun, 24 May 2015 13:57:32 GMT Server: SWS Vary: Accept-Encoding Cache-Control: no-transform, max-age=120 Expires: Sun, 24 May 2015 13:59:32 GMT Last-Modified: Sun, 24 May 2015 13:57:21 GMT X-RS: 11172604.20347654.12509576 FSS-Cache: HIT from 9861864.17726194.11198816 X-Cache: MISS from yonglinux X-Cache-Lookup: MISS from yonglinux:3128 Via: 1.0 yonglinux (squid/3.1.10) Connection: keep-alive [root@localhost ~]# curl -x192.168.22.30:3128 www.qq.com -I HTTP/1.0 403 Forbidden Server: squid/3.1.10 Mime-Version: 1.0 Date: Sun, 24 May 2015 22:04:30 GMT Content-Type: text/html Content-Length: 3254 X-Squid-Error: ERR_ACCESS_DENIED 0 Vary: Accept-Language Content-Language: en X-Cache: MISS from yonglinux X-Cache-Lookup: NONE from yonglinux:3128 Via: 1.0 yonglinux (squid/3.1.10) Connection: keep-alive


限制某些域名被代理访问

设置域名黑名单,不允许访问jd.com、taobao.com;允许其他人;

vim/etc/squid/squid.conf的以下内容被添加到squid配置文件acl中。

aclhttp协议http

ACLbad_domaindstdomain.Taobao.com.JD.com

http_access拒绝http坏域


用curl测试黑名单,淘宝和京东返回状态码403,51cto返回200OK如果不在黑名单上;

[root@localhost ~]# curl -x192.168.22.30:3128 www.taobao.com -I HTTP/1.0 403 Forbidden Server: squid/3.1.10 Mime-Version: 1.0 Date: Sun, 24 May 2015 21:35:22 GMT Content-Type: text/html Content-Length: 3266 X-Squid-Error: ERR_ACCESS_DENIED 0 Vary: Accept-Language Content-Language: en X-Cache: MISS from yonglinux X-Cache-Lookup: NONE from yonglinux:3128 Via: 1.0 yonglinux (squid/3.1.10) Connection: keep-alive [root@localhost ~]# curl -x192.168.22.30:3128 www.jd.com -I HTTP/1.0 403 Forbidden Server: squid/3.1.10 Mime-Version: 1.0 Date: Sun, 24 May 2015 21:35:32 GMT Content-Type: text/html Content-Length: 3254 X-Squid-Error: ERR_ACCESS_DENIED 0 Vary: Accept-Language Content-Language: en X-Cache: MISS from yonglinux X-Cache-Lookup: NONE from yonglinux:3128 Via: 1.0 yonglinux (squid/3.1.10) Connection: keep-alive [root@localhost ~]# curl -x192.168.22.30:3128 www.51cto.com -I HTTP/1.0 200 OK Server: Tengine Date: Sun, 24 May 2015 13:31:21 GMT Content-Type: text/html Vary: Accept-Encoding Load-Balancing: web39 X-Cache: MISS from yonglinux X-Cache-Lookup: MISS from yonglinux:3128 Via: 1.0 yonglinux (squid/3.1.10) Connection: keep-alive


用IE浏览器测试,需要设置代理服务器,菜单栏-工具-上网选项-连接-局域网设置,勾选代理服务器-高级,填写squid代理服务器地址和端口号;

当访问jd.comtaobao.com时,信息是错误的,访问被拒绝。它是由先前定义的可视主机名发送的。访问其他网站很正常;


3。构建squid反向代理

Vim/etc/squid/squid.conf#更改如下

删除以前添加的域名白名单/黑名单配置;

将http_port3128更改为http_port80accelvhostvport

添加以下内容:

cache_peer14.17.42.40parent800originservername=a

cache_peer180.97.33.107parent800originservername=b

缓存对等域www.qq.com

缓存_对等_域bwww.baidu.com


显示器的3128端口改为80端口;IE代理服务器的端口也要改成80;

14.17.42.40是平www.qq.com的ip地址;

如果squid要代理一个web上的所有域名,那么就这样写:cache_peer192.168.10.111800originserver#只需要这一行,cache_peer_domain可以省略;

/etc/init.d/squid重新启动


IE测试反向代理。你可以去Baidu.com和qq.com。其他网站显示:您的请求目前无法转发

使用卷曲测试

[root@localhost ~]# curl -x192.168.22.30:80 www.qq.com -I HTTP/1.0 200 OK Server: squid/3.4.1 Date: Sun, 24 May 2015 14:22:47 GMT Content-Type: text/html; charset=GB2312 Vary: Accept-Encoding Vary: Accept-Encoding Expires: Sun, 24 May 2015 14:23:47 GMT Cache-Control: max-age=60 Vary: Accept-Encoding Vary: Accept-Encoding X-Cache:  HIT from shenzhen.qq.com X-Cache:  MISS from yonglinux X-Cache-Lookup: MISS from yonglinux:80 Via: 1.0 yonglinux (squid/3.1.10) Connection: keep-alive

访问qq.com,从shenzhen.qq.com返回Hit,说明qq.com自己充当了反向代理人;



鱿鱼还有很多配置,会陆续更新;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/782459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存