HAProxy终止SSL也发送SSL到后端服务器

我想在HAProxy上终止SSL,对头进行一些操作,重写URL并重新encryptionstream量,并将其作为SSL发送到后端服务器?

我似乎无法find办法做到这一点。 我可以定期完成SSL终止,并将纯HTTP请求发送到后端。 但是我需要发送SSL到后端。

我想有以下function:

  • 提取x-forwarded-for标题,以获得代理后面的真实客户端IP。
  • 使用cookie实施会话粘性。
  • 做一些URL重写。
  • 使用基于cookie的会话粘性将SSLstream量发送到后端。

除非我在haproxy结束SSL终止,否则我无法完成URL重写。

任何在这里的好人的帮助将受到高度赞赏。

在haproxy.cfg中没有什么特别的。 您只需在HAProxy前端中进行所需的URL重写和标题操作,然后将stream量redirect到SSL后端。 这里有一个简单的例子:

frontend app1_ssl bind *:443 ssl crt /etc/haproxy/certs.d/example.com.crt crt /etc/haproxy/certs.d/ no-sslv3 option http-server-close option forwardfor reqadd X-Forwarded-Proto:\ https reqadd X-Forwarded-Port:\ 443 # set HTTP Strict Transport Security (HTST) header rspadd Strict-Transport-Security:\ max-age=15768000 # some ACLs and URL rewrites... default_backend backend_app1_ssl backend backend_app1_ssl server mybackendserver 127.0.01:4433 ssl verify none