Squid安装:

sudo apt-get install squid3 -y

首先,建议备份一下这个配置文件,以免配错之后,无法恢复,又得重新安装:

sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.default.bak

squid log查看:

sudo tial -f /var/log/squid3/access.log

服务启动停止与查看状态:

sudo service squid3 start
sudo service squid3 stop
sudo service squid3 status

补充几条squid的命令说明:

#检验:如果没有错误消息输出,恭喜,你可以使用squid
sudo squid3 -k parse # 重新配置Squid3,使得SquidGuard可以正常工作:
sudo squid3 reload
sudo squid3 -k reconfigure # 清空缓存,关闭squid3
sudo squid3 -k kill # 初始化squid的缓存空间
sudo squid3 -z # 显示创建交换目录
sudo squid -z # 启动squid
sudo squid # 关闭squid代理
sudo squid -k shutdown # 查看squid的状态:
sudo squid -k check # 重新配置Squid3,使得SquidGuard可以正常工作:
sudo squid3 reload
sudo squid3 -k reconfigure # 重新启动squid
sudo /usr/local/squid3/sbin/squid -k reconfigure

chrome--设置--网络--更改代理服务器设置--连接--局域网设置--代理服务器

贴一下squid.conf的配置信息内容:

http_port 0.0.0.0:                        #使用IPV4的3128端口作为代理服务器端口
cache_dir ufs /var/spool/squid3 #缓存目录
cache_access_log /var/log/squid3/access.log #接入的日志文件
cache_log /var/log/squid3/cache.log #缓存日志
cache_store_log /var/log/squid3/store.log #存储日志
pid_filename /var/run/squid.pid #进程ID
cache_mgr newflydd@gmail.com #随意填一个email
cache_mem MB #缓存大小
cache_swap_low #最小交换空间
cache_swap_high #最大交换空间
maximum_object_size KB
maximum_object_size_in_memory KB
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd #以上都没意思,这边是重点,使用NCSA读取加密的用户密码
acl ncsa_users proxy_auth REQUIRED #代理身份使用认证模式
http_access allow ncsa_users #所有IP都可以使用代理

部分可以参考这几篇文章:

http://www.predatorray.me/在VPS上搭建Squid代理服务器/

http://blog.csdn.net/stamhe/article/details/5334875

http://www.cnblogs.com/vijayfly/p/6550182.html

http://www.cnblogs.com/newflypig/archive/2012/09/28/2862000.html

http://www.cnblogs.com/lixiuyuan999/p/6260179.html

刚才配置成功,现在附上两份文件:

(1)可以通过内网代理访问外网的配置:

visible_hostname lifeccp
acl localnet src 192.168.0.0/
acl whitelist dstdomain "/etc/squid3/whitelist"
http_access allow whitelist
#解决websocket 协议时候,可以配置这个
request_header_add Connection "upgrade"

(2)在内网增加了白名单的访问规则配置:

#http_access allow localnet
http_access allow whitelist
acl whitelist dstdomain "/etc/squid3/whitelist" request_header_add Connection "upgrade"

(3)附上白名单文件:

.aliyuncs.com
.weixin.qq.com
.ronghub.com
.wx.qq.com
.lifeccp.com
uc.qbox.me

其他待后续在进行补充。

====================================================

官网:http://www.squid-cache.org/

squid是一种用来缓存Internet数据的软件。接受来自人们需要下载的目标(object)的请求并适当的处理这些请求。也就是说,如果一个人想下载一web界面,他请求squid为他取得这个页面。squid随之连接到远程服务器并向这个页面发出请求。然后,squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时, squid可以简单的从磁盘中读到它,那样数据会立即传输到客户机上。

squid代理的作用

  • 通过缓存的方式为用户提供Web访问加速
  • 对用户的Web访问进行过滤控制

工作流

当代理服务器中有客户端需要的数据时:

a. 客户端向代理服务器发送数据请求;

b. 代理服务器检查自己的数据缓存;

c. 代理服务器在缓存中找到了用户想要的数据,取出数据;

d. 代理服务器将从缓存中取得的数据返回给客户端。

当代理服务器中没有客户端需要的数据时:

  1. 客户端向代理服务器发送数据请求;

  2. 代理服务器检查自己的数据缓存;

  3. 代理服务器在缓存中没有找到用户想要的数据;

  4. 代理服务器向Internet 上的远端服务器发送数据请求;

  5. 远端服务器响应,返回相应的数据;

  6. 代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。

1、安装

sudo apt-get install squid3

2、常用命令

启动:sudo service squid3 start

重启:sudo service squid3 restart

停止:sudo service squid3 stop

3、配置介绍

主配置文件:/etc/squid3/squid.conf

常用配置:

http_port 3128

access_log /var/log/squid/access.log    #访问日志存放的地方

visible_hostname    proxy.test.xom  #可见的主机名

cache_mgr webmaster@test.com    #定义管理员邮箱

http_access deny all    #访问控制

4、设置白名单

sudo vim /etc/squid3/squid.conf

acl whitelist dstdomain "/etc/squid3/whitelist"

http_access allow whitelist

Tips:whitelist中定义可以访问的站点。

--------------------------

补充信息:

官网:http://www.squid-cache.org/

Squid 代理更改 HTTPS 头 :http://www.guanggua.com/question/39947239-squid-proxy-to-change-https-header.html

sudo squid3 -v | grep violations --color

【树莓派】Squid代理以及白名单配置的更多相关文章

  1. (转)nginx域名访问的白名单配置梳理

    nginx域名访问的白名单配置梳理 原文:http://www.cnblogs.com/kevingrace/p/6086652.html 在日常运维工作中,会碰到这样的需求:设置网站访问只对某些ip ...

  2. xinetd黑/白名单配置教程(以telnet为例)

    对于诸如telnet等托管于xinetd的服务,当请求到来时由于是通过xinetd进行通知,所以可以直接在xinetd上配置白名单允许和拒绝哪些ip连接服务. 本文主要参考xinetd.conf的ma ...

  3. nginx域名访问的白名单配置梳理

    在日常运维工作中,会碰到这样的需求:设置网站访问只对某些ip开放,其他ip的客户端都不能访问.可以通过下面四种方法来达到这种效果:1)针对nginx域名配置所启用的端口(比如80端口)在iptable ...

  4. nginx限速白名单配置

    在<nginx限制连接数ngx_http_limit_conn_module模块>和<nginx限制请求数ngx_http_limit_req_module模块>中会对所有的I ...

  5. 项目适配iOS9遇到的一些问题及解决办法 ,以及URL 白名单配置方法

    1.网络请求报错.升级Xcode 7.0发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Secur ...

  6. squid白名单

    http_access deny all #取消注释 http_access allow all --> http_access allow xxx_custom_ip #添加系统服务器IP白名 ...

  7. ubuntu apache2.4.7配置白名单

    1.仅允许192.168.1.1访问,此处需要注意apache2.2和2.4版本之后白名单配置的方法是不一样的 <Directory /var/www/> Options FollowSy ...

  8. nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录

    geo指令使用ngx_http_geo_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module.ngx_http_geo_modu ...

  9. Nginx IP 白名单设置

    1:ip.config 192.168.3.15 1;192.168.3.10 1;192.168.0.8 1; 2:nginx.conf #geoIP的白名单 geo $remote_addr $i ...

随机推荐

  1. Execute Javascript in iOS Applications

    In this tutorial, I have covered How to execute JavaScript in iOS / Objective-C. You can execute Jav ...

  2. ios 判断app程序第一次启动方法

    if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstStart"]){ [[NSUserDefaults st ...

  3. Git每次进入都需要输入用户名和密码的问题解决

    解决方法: 在项目目录下输入以下命令: git config --global credential.helper store 使用git pull 的时候回提示再输下用户名和密码就行了.

  4. JQuery攻略(二) Jquery手册

    在上一篇 JQuery攻略(一) 基础知识——选择器 与 DOM 中,我写了js的使用,如何选择元素,和一些比较常用的函数及DOM操作. 在这篇中,我将建立多个列表,将更多的 自定义选择器,函数,DO ...

  5. libcurl下载文件

    一.初始化 CURL *pHandler = curl_easy_init();   二.设置请求参数: 调用curl_easy_setopt方法,设置选项 curl_easy_setopt(pHan ...

  6. 根据ImageView的大小来压缩Bitmap,避免OOM

    Bitmap是引起OOM的罪魁祸首之一,当我们从网络上下载图片的时候无法知道网络图片的准确大小,所以为了节约内存,一般会在服务器上缓存一个缩略图,提升下载速度.除此之外,我们还可以在本地显示图片前将图 ...

  7. Android Studio安装和配置的方法 & 错误解决

    Android Studio终于到了1.0时代了,所以我也试着去学习了下如何使用它.上手确实比较麻烦,今天就分享下如何去下载并使用它. 一.下载 & 安装 大家可以去google给出的地址下载 ...

  8. 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab

    之前我们对大体框架有了一定的认识,现在我们来做Fragment界面,其实这里面和这个框架的关系就不大了,但因为有些同学对于在SlidingMenu中切换fragment还是有问题,所以我就在本篇进行详 ...

  9. DataGridView设置列标题不换行

    dgv.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False;  //设置列标题不换行 // 设定包括Header和所 ...

  10. JAVA生成并导出json文件

    将一个list集合转换成json文件并导出: 数据集合: List<Object> agencyList = new ArrayList<Object>(); Map<S ...