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

Replacing Amazon LoadBalancers with HAProxy servers, forwarding secure HTTPS to non-secure HTTP

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

我想用一个带 HA 代理的 EC2 实例替换 Amazon 的负载均衡器。不要担心性能,因为它是针对开发环境的。

想法是这样的:

除了从 HTTPS 转发到 HTTP 之外,我知道如何配置所有内容。甚至,我不知道这是否可能,这是我的问题。有可能这样做吗?

编辑: 这种代理的名称是 SSL Termination Proxy (Wikipedia, DigitalOcean)。谢谢@MarkB

是的,有可能。

要让 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