Squid 正向代理

 

实现通过特定设备对特定的网址访问加速

使用squid 正向代理 实现,区别于反向代理,两者区别的根本在于作为中转的服务器在一个完整的请求中是代表客户端还是代表服务器。

服务端设置

1.安装程序包(推荐 Centos 6.8 7.2)

sudo yum update
sudo yum -y install squid

2.关闭干扰程序

chkconfig --level 2345 postfix off
chkconfig --level 2345 sendmail off

3.设置缓存目录(建议设置大一点的)

mkdir -p /var/cache/squid
chown -R squid:squid / /var/cache/squid
#chmod -R 777 /var/cache/squid 
#不到万不得已 不要设置 777

4.启动测试

squid -z 
#检查配置文件
service squid restart
#centos 6
systemctl restart squid.service
#centos 7
chkconfig --level 2345 squid on

经过以上几个步骤 如果没有端口冲突 可以确定 squid 启动没有问题。说明squid 的启动环境OK,下面将对我们的需求做指定调整

配置文件:

 1 acl xxx-v-szzb dst 127.0.0.0/8 0.0.0.0/32 ::1
 2 acl SSL_ports port 443
 3 acl Safe_ports port 80      # http
 4 acl Safe_ports port 21      # ftp
 5 acl Safe_ports port 443     # https
 6 acl Safe_ports port 70      # gopher
 7 acl Safe_ports port 210     # wais
 8 acl Safe_ports port 1025-65535  # unregistered ports
 9 acl Safe_ports port 280     # http-mgmt
10 acl Safe_ports port 488     # gss-http
11 acl Safe_ports port 591     # filemaker
12 acl Safe_ports port 777     # multiling http
13 acl CONNECT method CONNECT
14 
15 http_access allow manager xxx-v-szzb
16 http_access deny manager
17 http_access deny !Safe_ports
18 http_access deny CONNECT !SSL_ports
19 #http_access allow all 
20 #acl http proto HTTP
21 acl good_domain dstdomain .salesforce.com .force.com .ip508.com
22 http_access allow manager good_domain
23 http_access deny !good_domain
24 
25 http_port 80
26 coredump_dir /app/squid/coredump_dir1
27 refresh_pattern ^ftp:       1440    20% 10080
28 refresh_pattern ^gopher:    1440    0%  1440
29 refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
30 refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
31 refresh_pattern .       0   20% 4320
32 strip_query_terms off
33 visible_hostname ss.72blog.com
34 cache_store_log none
35 cache_access_log none
36 cache_mem 512 MB
37 cache_dir aufs /app/squid/cache_dir1 5000 128 128
38 cache_swap_low 90
39 cache_swap_high 95
40 maximum_object_size 128 MB
41 maximum_object_size_in_memory 128 MB
42 dns_nameservers 10.0.1.1 10.0.1.2
43 client_lifetime 1 minutes
44 half_closed_clients off

不可照搬,有以下几行需要自定义

1/15:两行的主机名要是 squid所在设备的主机名

2~12 :设置接受的代理端口 

13~30:落实上述端口的设置,不在端口类的,不做代理

21~23:设置代理的目的域名,不在范围的目的域名不做代理,这里配置了三个,【.ip508.com用来测试代理是否生效的(可以返回客户端IP)】

25:设置端口

26~40:在不清楚意义的前提下,不要修改,【26/37 缓存目录需要修改】

客户端设置

不可在IE设置全局,因为IE浏览器设置后导致整个操作系统全局访问被设置

Chrome

1.快捷方式设置

直接找到chrome 的快捷方式加上启动配置

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
#这是原配置
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server="172.31.2.35:80"
#这是新配置 加上  --proxy-server="172.31.1.135:80"

但是这样配置的结果就是导致 chrome 被全局设置了,chrome 只能访问 squid 配置文件 21 行配置的地址。

2.插件配置

安装插件:Proxy Switchy!

配置插件

配置规则

 

 选择自动切换模式,这样只有特定的地址才会走代理,而服务端只能代理这些特定的地址。

posted @ 2017-05-30 16:49  侠之大者kamil  阅读(851)  评论(0编辑  收藏  举报