squid-正向代理

2019-03-12

squid正向代理

  1. 安装

    1
    yum install squid httpd-tools
  1. 配置

    1. 关闭不必要的端口 (只保留80和443)

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      acl Safe_ports port 80          # http
      #acl Safe_ports port 21 # ftp
      acl Safe_ports port 443 # https
      #acl Safe_ports port 70 # gopher
      #acl Safe_ports port 210 # wais
      #acl Safe_ports port 1025-65535 # unregistered ports
      #acl Safe_ports port 280 # http-mgmt
      #acl Safe_ports port 488 # gss-http
      #acl Safe_ports port 591 # filemaker
      #acl Safe_ports port 777 # multiling http
  1. 修改默认监听端口

    1
    http_port 9000
  1. 禁止所有访问

    1
    http_access deny all
  1. 增加用户认证

    检查一下ncsa路径是否和一致
    1
    2
    3
    rpm -ql squid | grep ncsa_auth
    /usr/lib64/squid/basic_ncsa_auth
    /usr/share/man/man8/basic_ncsa_auth.8.gz
    1
    2
    3
    4
    5
    6
    auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
    auth_param basic children 5
    auth_param basic credentialsttl 2 hours
    auth_param basic realm Example.com's Squid proxy-caching
    acl auth_user proxy_auth REQUIRED
    http_access allow auth_user
    1
    htpasswd -c /etc/squid/passwd tangbull
  1. 访问日志配置

    1
    access_log /var/log/squid/access.log
  1. 测试

配置代理Linux平台

1
2
export HTTP_PROXY=http://用户名:密码@squid服务器域名或者ip:9000
export HTTPS_PROXY=http://用户名:密码@squid服务器域名或者ip:9000
  • 端口和上面配置的相对应

  • 密码有特殊字符
    解决办法 就是将特殊字符转换成 ASIIC 码形式输入, 以 % + Hex 形式(0x忽略).

  • 参考链接: ASCII Reference

  • 比如常见的会出现在密码中的特殊字符:

1
2
3
4
~ : 0x7E,         ! : 0x21    
@ : 0x40, # : 0x23
$ : 0x24, % : 0x25
^ : 0x5E, & : 0x26