设为首页收藏本站

IDC免费资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
IDC免费资源网 首页 服务器架构 查看内容

Haproxy实现80端口复用

2016-10-14 09:42| 发布者: idcFREE| 查看: 816| 评论: 0

摘要: 第1章 安装环境 1.1 系统环境 # uname -r 2.6.32-642.4.2.el6.x86_64 # uname -m x86_64 # cat /etc/re readahead.conf redhat-lsb/ redhat-release request-key.conf request-key.d/ resolv.conf # cat /etc/redhat ...

第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}~/login ➭ ssh root@10.63.101.52 -p80

Last login: Thu Oct 13 17:05:27 2016 from localhost

3.2 测试http服务


鲜花

握手

雷人

路过

鸡蛋

最新评论

小黑屋|Archiver|手机版|IDC免费资源网    

GMT+8, 2018-1-20 03:07 , Processed in 0.017001 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部