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

使用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,下面将对我们的需求做指定调整

配置文件:

 acl xxx-v-szzb dst 127.0.0.0/ 0.0.0.0/ ::
acl SSL_ports port
acl Safe_ports port # http
acl Safe_ports port # ftp
acl Safe_ports port # https
acl Safe_ports port # gopher
acl Safe_ports port # wais
acl Safe_ports port - # unregistered ports
acl Safe_ports port # http-mgmt
acl Safe_ports port # gss-http
acl Safe_ports port # filemaker
acl Safe_ports port # multiling http
acl CONNECT method CONNECT http_access allow manager xxx-v-szzb
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#http_access allow all
#acl http proto HTTP
acl good_domain dstdomain .salesforce.com .force.com .ip508.com
http_access allow manager good_domain
http_access deny !good_domain http_port
coredump_dir /app/squid/coredump_dir1
refresh_pattern ^ftp: %
refresh_pattern ^gopher: %
refresh_pattern -i (/cgi-bin/|\?) %
refresh_pattern (Release|Packages(.gz)*)$ %
refresh_pattern . %
strip_query_terms off
visible_hostname ss.72blog.com
cache_store_log none
cache_access_log none
cache_mem MB
cache_dir aufs /app/squid/cache_dir1
cache_swap_low
cache_swap_high
maximum_object_size MB
maximum_object_size_in_memory MB
dns_nameservers 10.0.1.1 10.0.1.2
client_lifetime minutes
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!

配置插件

配置规则

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

Squid 正向代理的更多相关文章

  1. Squid 正向代理配置

    Squid 正向代理配置 1.删除主配置文件重写写入配置 rm -f /etc/squid/squid.conf 2.重新写入配置正向代理 vim /etc/squid/squid.conf # 监听 ...

  2. Linux 笔记 - 第十九章 配置 Squid 正向代理和反向代理服务

    一.简介 Squid 是一个高性能的代理缓存服务器,对应中文的乌贼,鱿鱼的意思.Squid 支持 FTP,gopher 和 HTTP 协议.和一般的代理缓存软件不同,Squid 用一个单独的,非模块化 ...

  3. Linux代理服务器—squid正向代理实验

    1.代理服务器squid简介 Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有广泛的用途,从作为网页服务器的前置cac ...

  4. squid 正向代理 简单配置

    linux 正向同步 项目上web服务器不给访问外网,迁移服务器环境又太麻烦,决定给web服务器做正向代理,刚开始使用nginx,但是https代理一直不成功,后面大佬建议使用squid来达到相同目的 ...

  5. nginx或者squid正向代理实现受限网站的访问

    项目背景:公司商务同事需要操作合作方的后台,但是这个后台做了限制(安全考虑只对指定IP放行),刚好公司是adsl拨号,经常更换IP 需求:让商务同事不要经常给IP到合作方去添加白名单 于是想到了做正向 ...

  6. 教你如何在5分钟轻松部署squid正向代理

    正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返 ...

  7. squid正向代理访问外网

    目录 一.前言 二.Squid安装 三.客户端设置 四.验证 五.Python请求 六.写在最后 一.前言 1)我们可能会碰到这样的需求,客户端Client-1需要访问Server-1,但由于各种各样 ...

  8. squid正向代理使用

     环境: Squid Cache: Version 3.5.20 操作系统: centos7.6 squid安装配置 yum install -y squid systemctl  start  sq ...

  9. 部署和调优 2.1 squid正向代理

    安装squid yum install -y squid Squid 官方网站为 http://www.squid-cache.org 打开注释掉的 cache_dir ufs / 缓存目录的位置,大 ...

随机推荐

  1. hdu1025 Constructing Roads In JGShining's Kingdom(二分+dp)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025 Problem ...

  2. .Net 与 Javascript 混合编程系列

    之前的文章有提到 edge 和 nodejs 交互,通过node的模块为C# 提供一些扩展,这个还是比較方便. 这里说下为什么要使用js. 1.SharpKit是一个用于在编译时将C#语言转换为Jav ...

  3. ie 代理设置中地址和端口置灰的解决办法

    @echo offecho 代理设置reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings&quo ...

  4. MFC中按下Buttonbutton,弹出一个窗体的同一时候关闭本窗体

     CMyDlg *dlg = new CMyDlg();                //新建一个CMyDlg对象 this->ShowWindow(SW_HIDE);           ...

  5. hdu 2665 Kth number(划分树)

    Kth number Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...

  6. 关于微软网站维护培训时遇到的issues:​​​What is WEDCS?

    WEDCS (pronounced “wed-ex”), the Web Events Data Collection Service, is a system for collecting, com ...

  7. (六)Java 基本数据类型

    Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过定义不 ...

  8. js二维数组定义和初始化的三种方法总结

    js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],[& ...

  9. SparkSQL与Hive on Spark

    SparkSQL与Hive on Spark的比较 简要介绍了SparkSQL与Hive on Spark的区别与联系  一.关于Spark 简介 在Hadoop的整个生态系统中,Spark和MapR ...

  10. continue 的理解

    continue 一般出现循环体的开始部分,或中间部分,而不可能是结尾(没有必要,正常执行也会退出本次循环): 1. continue 的替代方案 while (true){ if (A || B){ ...