• Haproxy实现80端口复用


    版权声明:


    本文作者为—陈鑫

    本文的所有内容均来陈鑫总结,未经本人许可,禁止私自转发及使用。

    QQ: 499741233

    E-mail: 499741233@qq.com


    第1章 安装环境

    1.1 系统环境

    [root@10 conf]# uname -r

    2.6.32-642.4.2.el6.x86_64

    [root@10 conf]# uname -m

    x86_64

    [root@10 conf]# cat /etc/re

    readahead.conf    redhat-lsb/       redhat-release    request-key.conf  request-key.d/    resolv.conf

    [root@10 conf]# cat /etc/redhat-release

    CentOS release 6.8 (Final)

    1.2 程序版本

    1.2.1 Haproxy

    [root@10 haproxy]# ./sbin/haproxy -v

    HA-Proxy version 1.5.11 2015/01/31

    Copyright 2000-2015 Willy Tarreau <w@1wt.eu>

    1.2.2 Haproxy程序下载地址

    第2章 Haproxy安装启动

    2.1 Haproxy安装

    tar xf haproxy-1.5.11.tar.gz
    
    cd haproxy-1.5.11
    
    make TARGET=linux26 PREFIX=/usr/local/haproxy
    
    make install PREFIX=/usr/local/haproxy
    
    备注:TARGET要指定的系统的内核版本。

    2.2 Haproxy配置文件

    cd /usr/local/haproxy/
    
    mkdir conf
    
    cd conf
    
    vim haproxy.cfg
    
    [root@10 conf]# cat haproxy.cfg
    
    global
    
        log         127.0.0.1 local0
    
        log         127.0.0.1 local1 notice
    
     
    
        chroot      /var/lib/haproxy
    
        pidfile     /var/run/haproxy.pid
    
        maxconn     4000
    
        user        haproxy
    
        group       haproxy
    
        daemon
    
     
    
        # turn on stats unix socket
    
        stats socket /var/lib/haproxy/stats
    
     
    
    defaults
    
        mode                    http
    
        log                     global
    
        option                  httplog
    
        option                  dontlognull
    
        option http-server-close
    
        option                  redispatch
    
        retries                 3
    
        timeout http-request    10s
    
        timeout queue           1m
    
        timeout connect         10s
    
        timeout client          1m
    
        timeout server          1m
    
        timeout http-keep-alive 10s
    
        timeout check           10s
    
        maxconn                 3000
    
     
    
    frontend main
    
        mode tcp
    
        bind *:80
    
        log global
    
        option tcplog
    
        log-format %ft %b/%s
    
     
    
        tcp-request inspect-delay 3s
    
        acl is_https req.payload(0,3) -m bin 160301
    
    #GET POS(T) PUT DEL(ETE) OPT(IONS) HEA(D) CON(NECT) TRA(CE)
    
        acl is_http req.payload(0,3) -m bin 474554 504f53 505554 44454c 4f5054 484541 434f4e 545241
    
    #SSH
    
        acl is_ssh req.payload(0,3) -m bin 535348
    
        tcp-request content accept if is_http
    
        tcp-request content accept if is_https
    
        tcp-request content accept if is_ssh
    
        tcp-request content accept
    
        use_backend https if is_https
    
        use_backend http if is_http
    
        use_backend ssh if is_ssh
    
        use_backend ssh
    
     
    
    backend ssh
    
        mode tcp
    
        timeout server 1h
    
        server server-ssh 127.0.0.1:22
    
     
    
    backend http
    
        mode tcp
    
        server ngx01 127.0.0.1:82 maxconn 10 check inter 3s
    
     
    
    backend https
    
        mode tcp
    
        server ngx02 127.0.0.1:433 maxconn 10 check inter 3s

    2.3 启动Haproxy

    useradd -s /sbin/nologin -M haproxy
    
    mkdir /var/lib/haproxy
    
    /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg

    第3章 测试

    3.1 测试ssh服务

    {17:05}~/loginssh root@10.63.101.52 -p80
    
    Last login: Thu Oct 13 17:05:27 2016 from localhost

    3.2 测试http服务

  • 相关阅读:
    升级或安装 GNOME Shell
    安装eclipse for c/c++环境
    BT3入门之中文语言支持
    开始接触BT5-自动登录X界面
    标准流与序列化
    IO流
    Collection与Map容器
    常用类
    枚举与常用类
    异常处理机制
  • 原文地址:https://www.cnblogs.com/cxcx/p/5957312.html
Copyright © 2020-2023  润新知