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

使用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. 划分问题(dp)

    给出一个整数集合  , 将这个集合分成2个 和相等的集合. 思路就是  总和的一半作为一个目标容量,在集合中寻找能否够有元素的和恰好为这个目标容量,也就转化为一个类似01背包问题. 这篇文章讲的比較具 ...

  2. python包格式

    1 egg和wheel 前者扩展名是.egg,后者扩展名是.whl 它们都是python的模块.后者用来替换前者. wheel是轮子的意思,就是说,有了.whl包就不需要重新再造轮子了.

  3. Run bash script as daemon

    linux - Run bash script as daemon - Stack Overflow https://stackoverflow.com/questions/19233529/run- ...

  4. Robot Framework快捷键图标制作 去掉cmd命令窗口

    安装好Robot Framework之后,通过 C:\Python27\Scripts\ride.py 启动时会带上一个命令行窗口: 怎样让启动的界面后面不带这个命令行窗口,且图片以机器人显示? 方法 ...

  5. ios34---GDC,dispatch_once

    // // ViewController.m // 09-掌握-GCD常用函数 // // Created by xiaomage on 16/2/18. // Copyright © 2016年 小 ...

  6. C语言8大经典排序算法(1)

    算法一直是编程的基础,而排序算法是学习算法的开始,排序也是数据处理的重要内容.所谓排序是指将一个无序列整理成按非递减顺序排列的有序序列.排列的方法有很多,根据待排序序列的规模以及对数据的处理的要求,可 ...

  7. Java 基础 —— 注解

    注解(annotation)不是注释(comment): 注解,是一种元数据(metadata),可为我们在代码中添加信息提供了一种形式化的方法.注解在一定程度上实现了元数据和源代码文件的结合,而不是 ...

  8. 洛谷P3690 LCT模板

    题目:https://www.luogu.org/problemnew/show/P3690 自己竟然从没有钻研过LCT上的连通性问题! 于是被最后一个点卡了,似乎因为 find 函数只能找出连通性而 ...

  9. Objective-C 对象的类型与动态结合

    创建: 2018/01/21 更新: 2018/01/22 标题前增加 [Objective-C] 完成: 2018/01/24 更新: 2018/01/24 加红加粗属性方法的声明 [不直接获取内部 ...

  10. bzoj 2199: [Usaco2011 Jan]奶牛议会【2-SAT】

    好久没写2-SAT了啊,还以为是网络流 设点x为选,x'为不选,因为一头牛至少要满足一个条件,所以对于牛条件的两个点,选了一个不符合的点,就要选另一个符合的点,这样连两条边 然后枚举所有议案的选和不选 ...