【问题标题】:HAProxy example for sending h2c traffic to backend with SSL termination使用 SSL 终止将 h2c 流量发送到后端的 HAProxy 示例
【发布时间】:2019-08-18 15:09:29
【问题描述】:

如果我的 HA-Proxy 实例设置为接受 h2 或 http/1.1 流量并使用 http 模式执行 SSL 终止,我将不胜感激。我尝试了以下设置:

frontend local_fe
    mode http
    option http-use-htx
    bind *:8080 proto h2
    default_backend local_be

backend local_be
    mode http
    option http-use-htx
    server localhost localhost:9090 proto h2

但是,使用 proto h2 仍然使用 https (as reported by my backend) 发送数据包。对我应该在配置中进行哪些更改有什么建议吗?

【问题讨论】:

    标签: reverse-proxy haproxy http2


    【解决方案1】:

    因为您在 HTTP 上设置前端和后端,所以 TCP 数据包将按原样转发,并且不会执行终止。

    将前端设置为 HTTPS / SSL,并保持后端不变。

    frontend www-https
       bind *:443 ssl crt /etc/ssl/private/example.com.pem proto h2
       default_backend local_be
    

    此配置将绑定到 SSL 端口 443,使用 example.com.pem 密钥/证书执行 SSL 终止,然后将未加密的连接转发到您的后端。

    【讨论】:

    • 感谢您的快速回复,我的问题应该更清楚。我的问题是后端将 https 视为传入方案。前端的配置方式,它不应该接收 https 流量。
    • 嗯,您当前的配置似乎具有在前端和后端的 HTTP 模式下运行的 HA 代理。这意味着传入和转发请求之间不会进行任何转换。你的前端应该是 HTTPS,你的后端应该是 HTTP。此配置将触发消息的解密。
    • 你的前端的配置方式,就是不做任何事情,把数据传给后端。
    • 是的,这就是目的。但是,HA-Proxy 使用 https 方案将流量发送到后端。这里有一些细节:discourse.haproxy.org/t/…
    猜你喜欢
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    相关资源
    最近更新 更多