Thursday, July 11, 2019

Looking for HTTP(S) to TCP reverse-proxy with customisable auth binary backend handshake.

Hi everyone,

I'm trying to implement something a bit different than usual. I'd like to deploy a reverse-proxy that accept HTTP(S) (SSL / TLS termination) on the frontend but with a TCP backend.

The twist is that I'd like keep a connection pool to the backend where the connection initialisation process requires a custom binary authentication handshake.

Also I'd like to be able to do some light processing (like modifying the request body and using the HTTP body as TCP body).

I had hopped to be able to use HAProxy for this but due to the following limitations I don't think it's feasible:

  • HAProxy doesn't allow mixing a HTTP frontend and a TCP backend
  • HAProxy doesn't allow modifying the body
  • HAProxy doesn't make it possible to initialise a TCP connections with some pre-determined binary authentication handshake

I looked around on the Internet, StackOverflow / StackExchange and the HAProxy subreddit but couldn't find any way to implement this.

Does anyone know of a high-performance open-source solution with sane defaults that full-fill these requirements?

Thanks a lot!



No comments:

Post a Comment