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

使用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. RAD 极速应用开发 Spring ROO 入门样例

    官网                                      http://projects.spring.io/spring-roo/ Spring ROO in action   ...

  2. LiveWriter高亮显示方法专题

    2013年9月26日 花了一上午的时间,熟悉了LiveWriter的用法,学会了怎么配置语法高亮,总结下来.   方法1.用博客园推荐的方法没有成功.pass   方法2 方法来自一个人的旅行.试过O ...

  3. Linux下Gcc 的编译过程

    在linux下开发难免会用到gcc编译.GCC(GNU Compiler Collection.GNU编译器套装),是由 GNU 开发的编程语言编译器.它是GNU编译器套装以GPL许可证所发行的自由软 ...

  4. 容器ConcurrentHashMap原理(学习)

    一.概述 HashMap 是非线程安全的,在不考虑性能问题的时候,我们的解决方案有 Hashtable 或者Collections.synchronizedMap(hashMap),这两种方式基本都是 ...

  5. 中文man

    1.下载中文包:cd /usr/local/src wget http://pkgs.fedoraproject.org/repo/pkgs/man-pages-zh-CN/manpageszh-1. ...

  6. 利用JFreeChart生成时序图(6) (转自 JSP开发技术大全)

    利用JFreeChart生成时序图(6) (转自 JSP开发技术大全) 14.6 利用JFreeChart生成时序图 通过JFreeChart插件只能生成普通效果的时序图,利用工厂类ChartFact ...

  7. luogu 3952 时间复杂度

    noip2017 D1T2 时间复杂度 某zz选手考场上写了1.5h 考完之后发现自己写的是错的 但是结果A了??? 题目大意: 一种新的编程语言 A++ 给出一个程序只有循环语句 并给出这个程序的时 ...

  8. 用msys1.0+mingw gcc4.7.1编译libodb(C++ ORM)

    这里主要使用的是libodb 对sqlite数据库的支持. (1)下载编译sqlite3,当初编译go-sqlite3的时候下载过sqlite3,就直接拿过来用了. start msys.bat gc ...

  9. ubuntu 14.04中: 像ubuntu16.04 一样可以在文件夹内打开此路径下的shell

    sudo apt-get install nautilus-open-terminal 然后重启 ok!

  10. 13.Ext.extend用法以及代码解读

    转自:http://www.blogjava.net/dragonshrimp/archive/2008/03/01/183060.html Ext.extend用法以及代码解读 概述 Ext.ext ...