Ini mungkin dengan Haproxy. Anda dapat mengatur proxy TCP dan mengekstrak SNI dan melakukan routing berdasarkan pada SNI. Ini sebuah contoh:
backend be.app1
mode tcp
no option checkcache
no option httpclose
tcp-request inspect-delay 5s
tcp-request content accept if { req.ssl_hello_type 1 }
tcp-request content reject
use-server server1 if { req.ssl_sni -m beg app1. }
server server1 server1:8443 check id 1 weight 0
Sangat penting untuk menunda permintaan sampai Anda mendapatkan SSL halo, jika tidak haproxy akan mencoba membuat koneksi sebelum menerima tajuk SNI.
Saya menggunakan server dengan bobot 0 karena, dalam konfigurasi saya saat ini, saya hanya memiliki satu server yang berjalan untuk setiap SNI dan saya tidak ingin mereka menerima permintaan acak. Anda mungkin dapat menemukan cara yang lebih baik untuk bermain dengan ini.
Saya harap ini membantu.