概念
    高性能dialing服务软件,作为前置缓存服务,用于替代用户向网站服务器请求页面数据并进行缓存。
    默认占用端口3128、3401、4827
    
分类
    从作用分类
        正向代理
          用于局域网内
            标准正向代理模式:
                将网站的数据缓存在服务器本地,用户需要指定服务器的IP地址和端口号
            透明正向代理模式
                功能同上,但不需要用户指定代理服务器的IP地址和端口号
                
        反向代理
            降低网站服务器负载而设计的,反向代理服务器负责回应用户对原始网站服务器的静态页面请求
            用于网站架构中,缓存网站的静态数据
            
安装squid
    yum -y install squid
    
    主程序目录        /usr/sbin/squid
    配置文件目录    /etc/squid
        主配置文件    /etc/squid/squid.conf
        访问日志    /var/log/squid/access.log
        缓存日志    /var/log/squid/cache.log
        
    配置文件中的参数
        http_port 3128     监听的端口号。
        cache_mem 64M     内存缓冲区的大小。
        cache_dir ufs /var/spool/squid 2000 16 256     硬盘缓冲区的大小。缓存大小,一级目录数,二级目录数
        cache_effective_user squid     设置缓存的有效用户。
        cache_effective_group squid     设置缓存的有效用户组。
        dns_nameservers IP地址     一般不设置,用服务器默认的DNS地址。
        cache_access_log /var/log/squid/access.log     访问日志文件的保存路径。
        cache_log /var/log/squid/cache.log     缓存日志文件的保存路径。
        visible_hostname linuxprobe.com     设置Squid服务主机的名称
        
启动服务
    systemctl enable squid
    systemctl start squid
        #启动后默认可以标准正向代理模式
    
    放行squid或端口
        firewall-cmd --permanent --add-port=3128/tcp
        firewall-cmd --permanent --add-service=squid
        
自定义服务端口
    1、更改主配置文件
        vim /etc/squid/squid.conf
            http_port 10000
        
    2、修改squid的布尔值
        setsebool -P squid_connect_any 0
        
    3、修改SELinux对10000的端口策略
        semanage port -a -t squid_port_t -p tcp 10000
        
    4、重启服务
        systemctl restart squid
        
    透明正向代理
        squid不支持DNS解析,需要配置SNAT                                          
            iptables -t nat -A POSTROUTING -p udp --dport 53 -o en016777736 -j MASQUERADE
            
            # firewall-cmd --permanent --add-masquerade
        
            开启IPv4 转发策略
                echo “net.ipv4.ip_forward=1” >> /etc/sysctl.conf
                sysctl -p
        
        配置透明代理
            vim /etc/squid/squid.conf
                
                http_port 3128  transparent
            
            判断文件是否有错误
                squid -k  parse
            
        重启服务
            systemctl restart squid
        
        将用户对80端口的请求转发到3128端口
            iptables -t nat -A PEROUTING -p tcp --dport 80 -j REDIRECT --to-port 3218
            iptables -t nat -R PEROUTING 1 -i eno16777736 -p tcp --dport 80 REDIRECT --to-port 3218
            
                
    反向代理    
        编辑配置文件
        格式:http_port squid服务器地址:端口号 vhost
        http_port 192.168.10.10:80 vhost
        
        添加原网站服务地址
            格式:
                cache_peer 原网站服务器地址 parent 服务器端口号 0 originserver
                cache_peer 106.184.1.125 parent 80 0 originserver
                
    ACL访问控制
        ACL语法:
            acl AclName AclType string
            acl ACLName AclType "file"
            
            AclType:
                src定义源地址
                    acl aclname  src x.x.x.x/mask
                    acl aclname  src addr1-addr2/mask
                
                dst目的地址
                    acl aclname dst x.x.x.x/mask
                    
                port指定访问端口号
                    acl aclname port 80 1024
                    acl aclname port 0-1024
                
                url_regex限制网址中的关键词
                    acl aclname url_regex [-i] pattern
                
                proto定义要代理的协议
                    acl aclname proto HTTP FTP
                
                method指定请求的方法
                    acl aclname method GET POST
                    
        例:仅允许192.168.10.20的主机使用本地squid服务,拒绝其他
            acl client src 192.168.10.20
            http_access allow client
            http_access deny all
            
            拒绝客户使用代理服务器访问带有关键词“linux”的网站
                acl deny_keyword url_regex -i linux
                http_access deny deny_keyword
                http_access allow all
                
            拒绝客户机使用代理服务访问www. i.cnblogs.com
                acl deny_url url_regex http://i.cnblogs.com
                http_access deny deny_url
                
            禁止客户机使用代理服务器下载mp3与rar为后缀的文件
                acl badfile urlpath_regex -i \.mp3$ \.rar$
                http_access deny badfile

squid代理的更多相关文章

  1. Linux下squid代理缓存服务环境部署

    代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载 ...

  2. squid 代理服务器安装配置

    ubuntu16.04 安装squid代理服务器配置 本文参考 http://www.cnblogs.com/newflypig/archive/2012/09/28/2862000.html 1,删 ...

  3. squid代理加用户认证

    squid代理加用户认证 用authentication helpers添加身份验证 有如下几种认证方式 :=> NCSA: Uses an NCSA-style username and pa ...

  4. squid代理http和https方式上网的操作记录

    需求说明:公司IDC机房有一台服务器A,只有内网环境:192.168.1.150现在需要让这台服务器能对外访问,能正常访问http和https请求(即80端口和443端口)操作思路:在IDC机房里另找 ...

  5. Squid代理配置

    更改squid错误页面时间不对的问题解压源码包,进入此路径/usr/local/squid/share/errors/zh-cn(需要更改该目录下的所有文件find -type f |xargs se ...

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

    Squid安装: sudo apt-get install squid3 -y 首先,建议备份一下这个配置文件,以免配错之后,无法恢复,又得重新安装: sudo cp /etc/squid3/squi ...

  7. Linux实战教学笔记43:squid代理与缓存实践(二)

    第6章 squid代理模式案例 6.1 squid传统正向代理生产使用案例 6.1.1 squid传统正向代理两种方案 (1)普通代理服务器 作为代理服务器,这是SQUID的最基本功能:通过在squi ...

  8. Linux实战教学笔记42:squid代理与缓存实践(一)

    第1章 Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器.这种服务器不仅可以使用户可 ...

  9. linux初学者-squid代理篇

     linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则 ...

  10. squid代理简介

    squid代理 简单介绍一下正向代理和反向代理 标准代理:缓存静态页面,但是要实现这种方式必须在内部主机的浏览器内指明代理服务址和端口. 透明代理:不需要指明代理服务器的IP和端口 二)反向代理 可以 ...

随机推荐

  1. MyBatis中调用存储过程和函数

    一.调用存储过程 1.首先在数据库中定义存储过程,定义的存储过程的代码如下: //定义存储过程 create or replace procedure pag_add(p1 varchar2,p2 v ...

  2. windows程序设计 Unicode和多字节

    Unicode和多字节 Unicode是宽字符 多字节是窄字符 类型 变量类型 初始化方式 Unicode LPWSTR L"string" 多字节 LPSTR "str ...

  3. Bukkit之yaml动态读取

    在使用bukkit框架写插件的时候会经常使用到yml格式的文件来存储配置或者玩家数据,这里来说一下实现yml中数据的动态读写: 先来看一下yml文件中的内容结构 public boolean addB ...

  4. Substring (后缀数组 + 计数)

    题意:求出字符串中包含了某个字符的字符序列不一样的数量. 思路:其实主要的是找出每个被包含字符的数量,假设除了目标字符之外的所有字符都不一样,那么应该就很好求了,但是显然不可能,所以我们可以枚举每一个 ...

  5. img 兼容问题 css图片与图片之间总是会存在缝隙

    解决方案: 法宝一:定义图片img标签vertical-align:bottom,vertical-align:middle,vertical-align:top. img{vertical-alig ...

  6. PLSQL远程连接数据库(亲测可试)

    一.准备工具: ORALCE数据库.PLSQL连接工具.确认网络正常 (我是在局域网中的,如果不是局域网,需要去ORACLE安装目录下找到sqlnet.ora 在里面找到 SQLNET.AUTHENT ...

  7. SSM-网站后台管理系统制作(1)

    好久没写博客了,忙于考试和项目答辩,今天整理一下想弄的SSM:本人想做的是博客管理平台,和博客园,CSDN,stackoverflow这些类似. 老师先让做的是后台管理系统,先给出来吧. (讲解内容: ...

  8. FL studio钢琴卷工具简介

    FL studio中的钢琴卷工具在业内各编曲软件中享有当之无愧的声誉.钢琴卷是一款将音符和自动数据发送到钢琴卷的频道相关联的插件.而钢琴卷的这个操作运行过程被称为“排序”. 下面给大家介绍讲解钢琴卷中 ...

  9. Docker安装准备

    第一次写作下笔记: 以centos6.5安装yum优先级插件 yum install yum-priorities 1.epel简介: https://fedoraproject.org/wiki/E ...

  10. python基础知识点三

    内置函数和匿名函数 python 一共有68个内置的函数:它们就是python提供给你直接可以拿来使用的所有函数 内置函数的图:链接 :https://www.processon.com/mindma ...