Cấu hình Haproxy multiple port Frontend và multiple Backend – Sử dụng Access List trên Haproxy

Cấu hình Haproxy multiple​​ port Frontend và multiple Backend​​ - Sử dụng Access List trên Haproxy

Trong bài hướng dẫn này tôi sẽ giới thiệu các bạn cấu hình Haproxy với​​ nhiều​​ port​​ Frontend và với nhiều​​ Backend. Mỗi​​ Port trên​​ Frontend sẽ được cấu hình để trỏ về​​ Backend theo từng yêu cầu cụ thể.​​ Ví dụ cũng chỉ ra cách sử dụng access-list đơn giản trên haproxy.​​ chi tiết cấu hình như sau:

Các bạn có thể tuỳ chỉnh phần Frontend và backend theo mỗi case.​​ Ở trường hợp của tôi cấu hình để mở nhiều port cho dịch vụ open stack

Cấu hình:

cat /etc/haproxy/haproxy.cfg

 

global

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ log 127.0.0.1  ​​​​ local0

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ log 127.0.0.1  ​​​​ local1 notice

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ #log loghost  ​​ ​​​​ local0 info

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ maxconn 4096

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ chroot /var/lib/haproxy

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ user haproxy

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ group haproxy

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ daemon

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ #debug

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ #quiet

defaults

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ log  ​​ ​​ ​​​​ global

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ mode  ​​ ​​​​ http

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ stats  ​​​​ uri  ​​ ​​ ​​​​ /haproxy

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ stats  ​​​​ realm  ​​​​ Haproxy\ Statistics

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ stats  ​​​​ auth  ​​ ​​​​ admin:123456

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ log  ​​ ​​ ​​​​ global

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ option ​​ dontlognull

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ retries 3

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ redispatch

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ maxconn 2000

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ contimeout  ​​ ​​ ​​ ​​​​ 5000

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ clitimeout  ​​ ​​ ​​ ​​​​ 50000

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ srvtimeout  ​​ ​​ ​​ ​​​​ 50000

 

 

frontend MAIN

 ​​ ​​ ​​​​ bind *:80

 ​​ ​​ ​​​​ bind *:81

 ​​ ​​ ​​​​ bind *:6080

 ​​ ​​ ​​​​ bind *:15672

 ​​ ​​ ​​​​ bind *:9292

 ​​ ​​ ​​​​ bind *:35357

 ​​ ​​ ​​​​ bind *:5000

 

 ​​ ​​ ​​​​ mode http

 

 ​​ ​​ ​​​​ acl FIRST_URL hdr_dom(host) -i​​ 123.123.123.123:81

 ​​ ​​ ​​​​ acl SECOND_URL hdr_dom(host) -i​​ 123.123.123.123:6080

 ​​ ​​ ​​​​ acl THIRD_URL hdr_dom(host) -i​​ 123.123.123.123:15672

 ​​ ​​ ​​​​ acl FOUR_URL hdr_dom(host) -i​​ 123.123.123.123:9292

 ​​ ​​ ​​​​ acl FIVE_URL hdr_dom(host) -i​​ 123.123.123.123:35357

 ​​ ​​ ​​​​ acl SIX_URL hdr_dom(host) -i​​ 123.123.123.123:5000

 

 

 ​​ ​​ ​​​​ use_backend FIRST if FIRST_URL

 ​​ ​​ ​​​​ use_backend SECOND if SECOND_URL

 ​​ ​​ ​​​​ use_backend THIRD if THIRD_URL

 ​​ ​​ ​​​​ use_backend FOUR if FOUR_URL

 ​​ ​​ ​​​​ use_backend FIVE if FIVE_URL

 ​​ ​​ ​​​​ use_backend SIX if SIX_URL

 

backend FIRST

 ​​ ​​ ​​​​ mode http

 ​​ ​​ ​​​​ server web-first 10.0.3.10:80

 

backend SECOND

 ​​ ​​ ​​​​ mode http

 ​​ ​​ ​​​​ server web-second 10.0.3.9:6080

#  ​​ ​​​​ server web-second2 10.0.3.15:6080

 

backend THIRD

 ​​ ​​ ​​​​ mode http

 ​​ ​​ ​​​​ server web-third 10.0.3.3:15672

 

backend FOUR

 ​​ ​​ ​​​​ mode http

 ​​ ​​ ​​​​ server web-four 10.0.3.7:9292

 

backend FIVE

 ​​ ​​ ​​​​ mode http

 ​​ ​​ ​​​​ server web-five 10.0.3.6:25257

 

backend SIX

 ​​ ​​ ​​​​ mode http

 ​​ ​​ ​​​​ server web-six 10.0.3.5:5000

 

Lưu ý:​​ 

Bạn có thể sử dụng mode HTTP hoặc TCP tuỳ theo nhu cầu.

Bạn có thể truy cập link:​​ http://123.13.123.123/haproxy​​ với user/pass admin/123456 để monitor haproxy.

Tài liệu tham khảo

https://blog.skufel.net/2015/09/how-to-publish-multiple-urls-with-single-ip-and-haproxy/

 

Cảm ơn các bạn đã quan tâm theo dõi.

SaKuRai

Xin chào, Mình là Sakurai. Blog này là nơi để note lại và chia sẻ những kiến thức, kinh nghiệm mà mình và anh em trong Team. Cảm ơn các bạn đã quan tâm theo dõi!

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *