haproxy的两种代理方式示范
时间: 2024-01-23 21:12:58 浏览: 112
好的,下面是haproxy的两种代理方式示范:
1. Layer 4代理
Layer 4代理是指haproxy只会在传输层(TCP/UDP)对请求进行代理,不会对应用层(HTTP/SMTP等)做任何处理。这种代理方式比较适合对性能有较高要求的场景,如负载均衡。
示例配置文件:
```
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode tcp
option tcplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend front
bind *:80
default_backend back
backend back
balance roundrobin
server server1 192.168.1.1:80 check
server server2 192.168.1.2:80 check
```
2. Layer 7代理
Layer 7代理是指haproxy会在传输层和应用层都对请求进行代理,并且可以根据请求的内容(如HTTP头部信息)进行一些处理,如转发请求到不同的后端服务器。这种代理方式比较适合对应用层有一定要求的场景,如Web应用。
示例配置文件:
```
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend front
bind *:80
acl is_blog hdr_end(host) -i blog.example.com
acl is_shop hdr_end(host) -i shop.example.com
use_backend blog if is_blog
use_backend shop if is_shop
default_backend default
backend blog
balance roundrobin
server server1 192.168.1.1:80 check
server server2 192.168.1.2:80 check
backend shop
balance roundrobin
server server3 192.168.1.3:80 check
server server4 192.168.1.4:80 check
backend default
balance roundrobin
server server5 192.168.1.5:80 check
server server6 192.168.1.6:80 check
```
以上就是haproxy的两种代理方式示范。
阅读全文