【树莓派】Squid代理以及白名单配置

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

# 重新启动squidsudo /usr/local/squid3/sbin/squid -k reconfigure

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

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

http_port 0.0.0.0:3128                        #使用IPV4的3128端口作为代理服务器端口
cache_dir ufs /var/spool/squid3 1000 64 1024  #缓存目录
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 [email protected]                  #随意填一个email
cache_mem 32 MB                               #缓存大小
cache_swap_low 90                             #最小交换空间
cache_swap_high 95                            #最大交换空间
maximum_object_size 4096 KB
maximum_object_size_in_memory 8 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://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/16
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 [email protected]    #定义管理员邮箱

http_access deny all    #访问控制

4、设置白名单

sudo vim /etc/squid3/squid.conf

acl whitelist dstdomain "/etc/squid3/whitelist"

http_access allow whitelist

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

时间: 2024-10-20 21:35:59

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

iptables白名单配置

白名单配置总结 1.        操作系统 [[email protected] ~]# uname -r 2.6.32-279.el6.x86_64 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.8 (Final) 2.        第一种方法,间接法 编辑防火墙规则配置文件 iptables vim /etc/sysconfig/iptables :INPUT ACCEPT [0:0] :FORWARD A

[Nginx配置系列] 基于Nginx Geo与 Nginx Map模块进行Nginx白名单配置

一.简介 在通常情况下,使用 nginx 基于 ip 限制访问请求频率等限制内容,我们会需要对特定ip进行限制排除操作,因此本文引入了基于nginx geo 与 nginx map 进行此类情景相关配置: 在没有人为操作删除的情况下(without-http_geo_module),nginx默认模块中已经加载了ngx-http-geo-module相关内容: ngx-http-geo-module可以用来创建变量,变量值依赖于客户端 ip 地址; ngx-http-map-module可以基于

nginx限速白名单配置

在<nginx限制连接数ngx_http_limit_conn_module模块>和<nginx限制请求数ngx_http_limit_req_module模块>中会对所有的IP进行限制.在某些情况下,我们不希望对某些IP进行限制,如自己的反代服务器IP,公司IP等等.这就需要白名单,将特定的IP加入到白名单中.下面来看看nginx白名单实现方法,需要结合geo和map指令来实现.geo和map指令使用方法参见下面文章.<nginx geo使用方法>和<nginx

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

1.网络请求报错.升级Xcode 7.0发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. 原因:iOS9引入了新特性App Transport Security (ATS).详情:App Transport Security (ATS)新特性要求App内访问的网络必须使用HTTPS协议

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

geo指令使用ngx_http_geo_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module.ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址.geo指令语法: geo [$address] $variable { ... }默认值: -配置段: http定义从指定的变量获取客户端的IP地址.默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他变量获得.例

nginx使用GeoIP限制访问并支持白名单

要使用GeoIP,需要重新编译Nginx,我的系统是centos6.5,nginx用的是tengine,需要的软件包:gcc.gcc-c++. openssl. openssl-devel.geoIP library.GeoLite Country.GeoLite City.pcre.tengine2 1.下载需要的软件包 wget http://tengine.taobao.org/download/tengine-2.0.3.tar.gz wget http://geolite.maxmin

PHP 限制访问ip白名单

一  上代码 config.php //ip白名单配置 'ipWlist'=>[ 'ifFilter'=>true, //是否开启白名单功能 'wlist'=>[ '10.0.0.19', ], 'warea1'=>'10.8.0.0/16', //白名单网段1 'warea2'=>'10.12.0.0/16', //白名单网段1 ], commonfunc.php private function checkIp(){ $user_IP = ($_SERVER["

配置squid 代理

一.什么是squid    1. squid可以做代理也可以做缓存       2.squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O       3.squid即可以做正向代理也可以做反向代理        4.正向代理,squid后面是客户端,客户端上网要通过squid去上:反向代理后面是服务器,服务器返回给用户数据的时候需要走squid        5.正向代理用在企业的办公环境中,员工上网需要通过squid代理来上网,这样子可以节省网络带宽资源,而反向代理用来搭建网

linux下配置squid代理

代理工具.×××工具 yum install -y squid    (安装squid服务) 配置正向代理(企业中用于访问控制等) vim /etc/squid/squid.conf    (编辑squid配置文件) ...... acl http proto HTTP    (添加协议) acl good_domain dstdomain baidu.com    (设置白名单) http_access allow good_domain    (允许白名单访问) http_access de