zoukankan      html  css  js  c++  java
  • Centos7 squid安装与配置

    装squid

    yum install -y squid
    

    安装httpd(用于后面生成密码文件)

    yum install -y httpd  或者 yum install httpd-tools -y

    配置文件 /etc/squid/squid.conf

    vim /etc/squid/squid.conf
    

    修改/添加以下信息

    http_port 3128
    #  监听端口号,可以按需修改
    #  http_port 0.0.0.0:3128   #这样写会同时监听ipv6和ipv4的端口
    
    #以下内容一般加在文末
    cache_mem 128 MB     #内存中的缓存大小
    maximum_object_size 16 MB    #最大被缓存文件大小,这个配合下面的cache_dir使用,只作用于缓存到磁盘的文件。
    cache_dir ufs /var/spool/squid 100 16 256
    #缓存文件夹,默认是只在内存中进行缓存的。这里指定缓存大小为100M,第一层子目录为16个,第二层为256。    
    access_log /var/log/squid/access.log     #定义访问日志路径
    visible_hostname www.test.com     #随意填写一个域名
    cache_mgr airoot@qq.com        #随意写一个邮箱

      1、如果不需要带用户认证,只需启用这条即可(安全性很差)

    http_access allow all   

      2、带用户认证配置(这里通过ncsa认证模块来为我们的squid添加认证)

    htpasswd -c /etc/squid/passwd airoot       #创建一个密码文件名为passwd,账号名为airoot的密码文件
    # 回车之后提示输入密码,在此这里我设置的密码为 321654
    # 注意密码不要超过8位 

      2.1 验证密码文件

    /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
    # 输入 用户名 密码
    airoot 321654
    # 提示OK说明成功,ERR是有问题,请检查一下之前步骤
    OK
    # 测试完成,crtl + c 打断
    

      2.2 配置文件 

    #注释以下内容:
    # http_access deny !Safe_ports
    # http_access deny CONNECT !SSL_ports
    # http_access deny to_localhost
    # http_access allow localnet
    # http_access deny all
    
    #在代码后添加验证和安全相关命令
    acl OverConnLimit maxconn 16       #定义每个IP最大允许16个连接,防止攻击
    
    auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd      #选择的认证方式为basic,定义认证程序路径和密码文件路径。
    auth_param basic children 5         #认证程序的进程数
    auth_param basic realm airoot's Squid Server        #客户端在使用代理时,输入密码时弹出来的提示框中的描述文字
    auth_param basic credentialsttl 5 hours     #认证有效时间
    acl auth_user proxy_auth REQUIRED     #定义认证的用户
    http_access deny OverConnLimit       #超出之前设定的连接数则拒绝
    http_access allow auth_user     #允许认证的用户访问
    http_access deny all     #拒绝所有其它访问
    
    
    #题外话
    # acl auth_user proxy_auth REQUIRED 等于 acl authenticated proxy_auth REQUIRED
    # http_access allow auth_user 等于 http_access allow authenticated

    初始化Squid

    squid -z
    

    启动命令与开机自启

    # 启动
    systemctl start squid.service
    # 停止
    systemctl stop squid.service
    # 重启
    systemctl restart squid.service
    
    #设置开机自启
    systemctl enable squid.service         

     OpenVPN客户端代理连接

    http-proxy x.x.x.x 8080 stdin basic   #因为之前定义了basic验证
    

     上面的的身份认证示例将会导致OpenVPN提示从标准输入界面输入一对用户名/密码,如果你希望将这些用户凭据放入一个文件中来代替上述输入操作,请使用一个文件名来替换语句中的stdin,该文件的第1行应该放置用户名,第2行放置密码。 

    附带/etc/squid/squid.conf完整配置文件

  • 相关阅读:
    漂亮的代码5:数组与字符一样的操作
    漂亮的代码4:缓存器的妙用
    漂亮的代码3:flatten 一个数组
    漂亮的代码2:遍历文件夹目录,使用promise
    漂亮的代码1:计算器
    nodejs 代码设计模式1:同步函数变异步
    [翻译]现代java开发指南 第二部分
    Httpclient远程调用WebService示例
    Java代码使用正则验证和常用工具方法
    简单将集合的内容转为字符串
  • 原文地址:https://www.cnblogs.com/airoot/p/7260325.html
Copyright © 2011-2022 走看看