我正在尝试设置用于 SSL Pass Through 的 HAProxy 服务器。
要求是,我将获得请求,例如 api.mydomain.com、web.mydomain.com,在 HAProxy 中,我希望接收请求并根据它们的主机名转发到相关的后端。
使用以下配置,我的 HA 代理启动,当我访问 web.mydomain.com 时,我希望发送到 web.mydomain.com,但它会被发送到 api.mydomain.com。
以下是我的配置:
global
log 127.0.0.1 local2
local2.* /var/log/haproxy.log
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode tcp
log global
option tcplog
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
frontend localhost
bind *:443
option tcplog
mode tcp
default_backend api_nodes
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
acl ACL_api_mydomain.comhdr(host) -i api.mydomain.com
use_backend api_nodes if ACL_api_mydomain.com
acl ACL_web_mydomain.comhdr(host) -i web.mydomain.com
use_backend web_nodes if ACL_web_mydomain.com
backend api_nodes
mode tcp
balance roundrobin
option tcp-check
server web01 192.0.0.68:5002/healthcheck check
backend web_nodes
mode tcp
balance roundrobin
option tcp-check
server web01 192.0.0.68:5001 check
我正在使用 HAProxy 1.5.x 版本。