【问题标题】:HTTPS URL Redirecting not working with HaProxyHTTPS URL 重定向不适用于 HaProxy
【发布时间】:2015-08-24 21:07:54
【问题描述】:

我有两个域,每个域都支持 HTTP 和 HTTPS - 我想将它们重定向到正确的端口/服务器。以下配置适用于 HTTP 但不适用于 HTTPS

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 不进行任何类型的重定向。如果设置了就会失败或下降到默认值。

【问题讨论】:

    标签: ssl https docker reverse-proxy haproxy


    【解决方案1】:

    试试这个:

    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
    

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 2015-10-27
      • 2019-04-17
      • 2014-12-02
      • 1970-01-01
      • 2018-12-23
      相关资源
      最近更新 更多