用HAProxy服务器替换Amazon LoadBalancers,将安全HTTPS转发到非安全HTTP

时间:2016-07-26 15:59:19

标签: amazon-web-services ssl-certificate haproxy elastic-load-balancer

目前,我部署了一些Amazon Elastic Load Balancers只是因为我使用域* .mycompany.cxx的免费AWS SSL证书。因此,当用户打开https://service.mycompany.cxx时,负载均衡器会将请求转发到与后端服务器端口80的非安全HTTP连接。

我想用一个带有HA代理的EC2实例替换亚马逊的负载均衡器。不要担心性能,因为它适用于开发环境。

这是个主意:

  • 为我的域名* .mycompany.cxx
  • 购买新的SSL证书
  • 以相同的方式配置HAProxy:它应该在端口443中接收HTTPS请求,并将它们转发到不同后端服务器的端口80。用户将始终使用HTTPS连接。在HAProxy服务器后面,连接将是HTTP。

我知道如何配置除从HTTPS转发到HTTP之外的所有内容。即便如此,我也不知道是否可能,这是我的问题。有可能吗?

编辑:此类代理的名称为 SSL终止代理WikipediaDigitalOcean)。谢谢@MarkB

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。

要使HAProxy接受HTTPS客户端并将其请求转发到侦听端口8080的本地非HTTPS服务器,您可能会遇到以下情况:

frontend https
    mode http
    maxconn 1000
    bind 0.0.0.0:443 ssl crt /etc/haproxy/certs/fullchain.pem
    option forwardfor
    reqadd X-Forwarded-Proto:\ https

    use_backend app

backend app
    mode http
    server srv-app 127.0.0.1:8080 check