Follow the below
steps to configure HAproxy to redirect multiple domains.
Step 1: Install the haproxy package if already not installed:
 
 
 
 
Step 1: Install the haproxy package if already not installed:
[root@linuxcnf ~]# yum install haproxy 
 | 
 
Step 2: Take a backup of original configuration
file of haproxy:
[root@linuxcnf ~]# cp -p
  /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg-ORI 
 | 
 
Step 3: Remove existing contents from the file and
put the below contents: 
[root@linuxcnf ~]# vi /etc/haproxy/haproxy.cfg-ORI 
#--------------------------------------------------------------------- 
# Example configuration for a possible
  web application.  See the 
# full configuration options online. 
# 
#  
  http://haproxy.1wt.eu/download/1.4/doc/configuration.txt 
# 
#--------------------------------------------------------------------- 
#--------------------------------------------------------------------- 
# Global settings 
#--------------------------------------------------------------------- 
global 
   
  # to have these messages end up in /var/log/haproxy.log you will 
   
  # need to: 
   
  # 
   
  # 1) configure syslog to accept network log events.  This is done 
   
  #    by adding the '-r' option
  to the SYSLOGD_OPTIONS in 
   
  #    /etc/sysconfig/syslog 
   
  # 
   
  # 2) configure local2 events to go to the /var/log/haproxy.log 
   
  #   file. A line like the
  following can be added to 
   
  #   /etc/sysconfig/syslog 
   
  # 
   
  #    local2.*                       /var/log/haproxy.log 
   
  # 
   
  log         127.0.0.1 local2 
 | 
 
   
  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 
#--------------------------------------------------------------------- 
# common defaults that all the
  'listen' and 'backend' sections will 
# use if not designated in their block 
#--------------------------------------------------------------------- 
defaults 
   
  mode                    http 
   
  log                       global 
   
  option                   httplog 
   
  option                   dontlognull 
   
  option                   http-server-close 
   
  option forwardfor     except
  127.0.0.0/8 
   
  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 
#--------------------------------------------------------------------- 
# main frontend which proxys to the
  backends 
#--------------------------------------------------------------------- 
frontend http-in 
       
  bind *:80 
       
  acl host_blog hdr(host) -i blog.linuxcnf.com 
       
  acl host_www hdr(host) -i www.linuxcnf.com 
 | 
 
       
  use_backend blog_site if host_blog 
       
  use_backend www_site if host_www 
#--------------------------------------------------------------------- 
# Backend for Blog Server 
#--------------------------------------------------------------------- 
backend blog_site 
       
  balance leastconn 
       
  option httpclose 
       
  option forwardfor 
       
  cookie JSESSIONID prefix 
       
  server blog1 192.168.43.18:9001 cookie A check 
#--------------------------------------------------------------------- 
# Backend for www Server 
#--------------------------------------------------------------------- 
backend www_site 
       
  balance leastconn 
       
  option httpclose 
       
  option forwardfor 
       
  cookie JSESSIONID prefix 
       
  server www1 192.168.43.19:9002 cookie A check 
#---------------------------------------------------------------------           
[root@linuxcnf ~]# 
 | 
 
Note: Change the configuration as per
environments i.e. domain URLs, backend server IP addresses and ports.
Step 4: Finally, start haproxy service and enable
it on system startup.
[root@linuxcnf ~]# service haproxy
  start 
[root@linuxcnf ~]# chkconfig haproxy
  on 
 | 
 
Step 5: verify the configuration using domain
URLs.
No comments:
Post a Comment