• 三、haproxy反向代理


    正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
    正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
    反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。
    反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。
    HAPROXY主要功能:
    1:基本功能-代理
    2 : 基本功能-SSL
    3 : 基本功能-监控
    4:基本功能-高可用
    5:基本功能-负载均衡
    6:基本功能-粘滞性
    7:基本功能-采样和转换信息
    8:基本功能-映射:
    9 : 基本功能-访问控制条件ACL
    10:基本功能-内容切换
    11:基本功能-粘性表
    12:基本功能-格式化字符串
    13:基本功能-HTTP重写和重定向
    14:基本功能-服务器保护
    15:基本功能-日志记录
    16:基本功能-统计
    HAPROXY高级功能
    1:高级功能-管理
    2:高级功能-系统特定的功能
    3:高级功能-脚本
    一、环境准备:
    # dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product"
    Manufacturer: Dell Inc.
    Product Name: PowerEdge R630
    # uname -a
    Linux linux-node2 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    # cat /etc/redhat-release
    CentOS Linux release 7.4.1708 (Core)
    关闭firewalld,selinux
    #yum install -y prce-devel openssl-devel (安装依赖包)
    #yum install -y gcc glibc gcc-c++ make screen tree lrzsz wget curl vim
    #tar -xvf haproxy-1.8.12.tar.gz
    #cd haproxy-1.8.12
    #make TARGET=linux2628
    #make install
    #cp /usr/local/sbin/haproxy /usr/sbin
    #cd examples/
    #cp haproxy.init /etc/init.d/haproxy
    #ls -lh /etc/init.d/haproxy
    #chmod +x /etc/init.d/haproxy
    添加haproxy和组,生产环境权限最小化使用haproxy帐户完成
    #groupadd -f haproxy
    #useradd -r -g haproxy haproxy
    #vim /etc/haproxy/haproxy.cfg
    global
    log 127.0.0.1 local3 info
    #chroot /var/lib/haproxy
    #user haproxy
    #group haproxy
    daemon
     
    defaults
    log global
    mode http
    #option httplog
    #option dontlongnull
    timeout connect 5000
    timeout client 50000
    timeout server 50000
     
    frontend http_front
    bind *:80
    #stats uri /haproxy?stats
    default_backend http_back
     
    backend http_back
    #balance roundrobin
    server ms01.unicom.com 192.168.119.110:8080 check
    server ms02.unicom.com 192.168.119.111:8080 check
    #touch /var/run/haproxy.pid
    #haproxy -f /etc/haproxy/haproxy.cfg -D -p /var/run/haproxy.pid -sf $(cat /var/run/haproxy.pid)
    #netstat -lntup
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6283/haproxy
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 981/sshd
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1077/master
    tcp6 0 0 :::8080 :::* LISTEN 6344/httpd
    tcp6 0 0 :::22 :::* LISTEN 981/sshd
    tcp6 0 0 ::1:25 :::* LISTEN 1077/master
    udp 0 0 0.0.0.0:514 0.0.0.0:* 5002/rsyslogd
    udp 0 0 0.0.0.0:45389 0.0.0.0:* 6283/haproxy
    udp6 0 0 :::514 :::* 5002/rsyslogd
    Dashboard
     
  • 相关阅读:
    DAY 169 创建虚拟环境05
    DAY 168 创建虚拟环境04
    DAY 167 创建虚拟环境03
    DAY 166 创建虚拟环境02
    java 内存区域
    java 内存机制
    JAVA GC
    JAVA根搜索算法
    mysql ---事务
    java lock -----锁
  • 原文地址:https://www.cnblogs.com/icerain0/p/9341760.html
Copyright © 2020-2023  润新知