• squid代理服务器


    ginx也可以代理:反向代理 ---- 负载均衡;nginx也可以缓存,但是无法做正向代理(proxy_pass 反向代理)

    squid正向代理服务器【VPN】

    squid作用:正向代理,可以缓存加速,基于ACL协议可以过滤控制

    squid代理的工作机制

    1、代替客户端向网站请求数据。不需要访问代理的IP地址,直接请求目的网站,由代理服务器处理请求和响应。可以隐藏用户的真实IP

    2、访问目标网站之后,会把(静态web)元素保存到缓存中,发送给客户端。下一次所有的客户机都可以使用缓存访问。加快访问速度【⭐核心⭐】

    数据流向

    squid作用

    1、资源获取。代替客户端获取目标服务器的资源

    2、加速访问。代理服务器可能和目标服务器距离更近,可以起到一定的加速作用

    3、缓存作用。代理服务器保存从目标服务器获取的资源,客户端下一次再请求目标服务器可以直接访问缓存即可。减轻目标服务器的压力

    4、隐藏真实的IP地址。代理服务器代替客户端请求,客户端的信息不会显示。(squid和nginx都可以做到)

    squid代理的类型

    1、传统代理,正向代理。需要在客户端指定定好代理服务器的地址和端口

    2、透明代理。客户端不再需要指定代理服务器的地址和端口,而是通过默认路由来进行转发(squid服务器,网关)

    3、反向代理。在反向代理的squid服务器中,如果缓存了请求资源,会将资源直接返回给客户端。否则,代理服务器会代理客户端向web服务器发起请求,然后再把请求的资源相应给客户端,同时把响缓存在本地,后续请求者都可以使用。(总结:有缓存,直接响应缓存内容,没有缓存,才会代替客户端请求web资源,响应结果保存在缓存,然后响应给客户端下一次直接访问缓存即可。缓存是否命中)

    SNAT和DNAT 和 代理服务器squid的区别

    ①网络层次不同:SNAT和DNAT是网络层,squid是应用层

    ②对数据处理方式不同:SNAT和DNAT是改变数据包头部的源IP地址和目的地址。squid不改变数据包的任何信息,直接把数据包发给代理,代理通过应用层过滤的方式实现转发(有点像路由器,类似于路由器转发数据包的工作过程)

    test1 客户端 192.168.233.10

    test2 squid  192.168.233.20 透明代理的时候需要双网卡

    web页面  nginx1  192.168.233.70   nginx2  192.168.233.80

    tar -zxvf squid

    cd squid

    ./configure --prefix=/usr/local/squid \

    --sysconfdir=/etc \

    --enable-arp-acl \

    --enable-linux-netfilter \

    --enable-linux-tproxy \

    --enable-async-io=100 \

    --enable-err-language="Simplify_Chinese" \

    --enable-underscore \

    --disable-poll \

    --enable-epoll \

    --enable-gnuregex

    make -j 10 && make install

    ln -s /usr/local/squid/sbin/* /usr/local/sbin/

    useradd -M -s /sbin/nologin squid

    chown -R squid:squid /usr/local/squid/var/

    vim /etc/squid.conf

    http_access allow all

    cache_effective_user squid

    cache_effective_group squid

    squid -k parse

    squid -z  初始化

    squid

    netstat -antp | grep squid

    squid -N -d1

    vim /etc/init.d/squid

    vim /etc/squid.conf

    62gg

    cache_mem 2000 MB

    reply_body_max_size 200 MB

    maximum_object_size 200 MB

    透明代理

    web 12.0.0.12

    双网卡分别指向网关:

    1、配置文件写错了,重启没有任务报错

    2、添加了ip加端口之后一定要查看一下ip+端口是否生效。

    3、客户端和服务端都要指向网关

    4、iptables的策略,在代理服务器要配置,开启转发功能

    ACL访问控制

    反向代理

    http_port 192.168.233.20:80 accelvhost vport

    squid从一个缓存变成了一个web服务器反向代理的加速模式 squid监听的80端口请求。同时和web服务器的请求端口绑定

    squid不是转发请求,而是要么从缓存获取数据,要么直接请求绑定的web端口

    accel: 反向代理加速模式

    vhost: 支持域名或者主机名来代表代理服务器

    vport: 支持ip+端口来表示代理服务器

    cache_peer 192.168.233.61 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1

    缓存获取失败,请求的服务器名

    parent:上下级的关系。80端口

    0:表示就是一台代理服务器,不涉及运营商

    no-query: 不查询,直接获取数据

    originserver: 指定源服务器

    round-robin max_conn=30 weight=1 name=web1:squid通过轮询的方式将请求分发到其中一台父节点

    max_conn=30 最大连接数

    weight=1 权重

    name=web1 设置别名

  • 相关阅读:
    折扇-第10届蓝桥杯Scratch省赛真题第4题
    Win11环境下Android Studio中Flutter开发环境构建(逐步解决)
    redis 登录案例
    许战海战略文库|主品牌老化:企业增长面临的关键挑战
    Maven 下载安装配置
    Java面试题大全(2021版)
    延迟加载、一对多映射处理(collection和分步查询)
    C语言MFC导出dll回调函数方法详解
    局部变量字符数组在栈中的顺序
    Python爬虫实战(实战篇)—17获取【CSDN某一专栏】数据转为Markdown列表放入文章中
  • 原文地址:https://blog.csdn.net/a91888888/article/details/134506359