2015-08-24 2 views
0

У меня есть два домена, каждый из которых поддерживает HTTP и HTTPS. Я хочу перенаправить их на соответствующие порты/серверы. Следующие конфигурации работает для HTTP, но не HTTPSURL-адрес HTTPS Перенаправление не работает с HaProxy

global 
    log 127.0.0.1 local0 
    log 127.0.0.1 local1 notice 
    chroot /var/lib/haproxy 
    user haproxy 
    group haproxy 
    # daemon 

defaults 
    log global 
    mode http 
    option httplog 
    option dontlognull 
    timeout connect 5000ms 
    timeout client 50000ms 
    timeout server 50000ms 

frontend http-in 
    bind *:80 
    acl ui hdr(host) -i app.XYZ.com 
    acl api hdr(host) -i api.XYZ.com 
    use_backend apiserverHTTP if api 
    use_backend uiserverHTTP if ui 

frontend https-in 
    bind *:443 
    acl ui hdr(host) -i app.XYZ.com 
    acl api hdr(host) -i api.XYZ.com 
    use_backend apiserverHTTPS if api 
    use_backend uiserverHTTPS if ui 

backend apiserverHTTP 
    option tcplog 
    balance leastconn 
    server apiserver-2 10.132.62.240:31000 check 
    server apiserver-1 10.132.62.242:31000 check 

backend apiserverHTTPS 
    option tcplog 
    balance leastconn 
    server apiserverS-2 10.132.62.240:31001 check 
    server apiserverS-1 10.132.62.242:31001 check 

backend uiserverHTTP 
    option tcplog 
    balance leastconn 
    server uiserver-1 10.132.62.240:31002 check 

backend uiserverHTTPS 
    option tcplog 
    balance leastconn 
    server uiserverS-1 10.132.62.240:31003 check 

HTTP перенаправления без проблем - HTTPS не делает перенаправление любого рода. Просто сбрасывается или падает до значения по умолчанию, если установлено.

ответ

0

Попробуйте это:

frontend http-in 
    bind *:80 
    bind *:443 

    acl ui  hdr(host) -i app.XYZ.com 
    acl api  hdr(host) -i api.XYZ.com 
    acl http_80 dst_port 80 
    acl https_443 dst_port 443 

    use_backend apiserverHTTP  if api http_80 
    use_backend uiserverHTTP  if ui http_80 
    use_backend apiserverHTTPS if api https_443 
    use_backend uiserverHTTPS  if ui https_443 

backend apiserverHTTP 
    option tcplog 
    balance leastconn 
    server apiserver-2 10.132.62.240:31000 check 
    server apiserver-1 10.132.62.242:31000 check 

backend apiserverHTTPS 
    option tcplog 
    balance leastconn 
    server apiserverS-2 10.132.62.240:31001 check 
    server apiserverS-1 10.132.62.242:31001 check 

backend uiserverHTTP 
    option tcplog 
    balance leastconn 
    server uiserver-1 10.132.62.240:31002 check 

backend uiserverHTTPS 
    option tcplog 
    balance leastconn 
    server uiserverS-1 10.132.62.240:31003 check 
Смежные вопросы