正向代理 简单说就是跳板
- 代理服务器【服务器C】替代访问方【用户A】去访问目标服务器【服务器B】
- 1.访问本无法访问的服务器B;2.加速访问服务器B;3.Cache作用;4.客户端访问授权;5.隐藏访问者的行踪
- 简单来说,正向代理就是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口
反向代理
- 对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端
- 1.保护和隐藏原始资源服务器;2.负载均衡;
透明代理
- 户端根本不需要知道有代理服务器的存在,它改编你的request fields(报文),并会传送真实IP。注意,加密的透明代理则是属于匿名代理,意思是不用设置使用代理了
Squid 常用配置
- 配置文件
vi /etc/squid/squid.conf
squid
- 启动squid服务|后台
- ./squid/sbin/squid -s
- 关闭squid
- squid -k shutdown
- 修改配置文件之后 刷新squid
- ./squid -k reconfigure
定义acl(访问控制列表),
语法为:acl<acl> <acl名称> <acl类型> <配置的内容>
禁止任何客户机使用此代理服务
acl all src 0.0.0.0/0.0.0.0 http_access deny all
允许多个局域网段在工作时间上网
acl all src 0.0.0.0/0.0.0.0 (有些版本要这么写acl all src all) acl MYLAN src 192.168.1.0/24 192.168.4.0/24 acl WORKTIME time MTWHF 08:30-17:30 (其中MTWHF是周一到周五的英文首字母) http_access allow MYLAN WORKTIME http_access deny all #- 注意要先写http_access allow MYLAN WORKTIME再写http_access deny all,因为先执行前面的,后面的就不执行了
通过黑名单限制目标网站
acl IPBLOCK dst "/etc/squid/ipblock.list" acl DMBLOCK dstdomain "/etc/squid/dmblock.list" http_access deny IPBLOCK http_access deny DMBLOCK
Squid 启动/停止/重载/服务异常排查实用命令 https://blog.csdn.net/weixin_34166472/article/details/92622551