you need content switching if you want the packet to be directed based on the shared name.
haproxy doesn't do this, but NGINX will. it is pricy, but still cheaper than the hardware based solution.
if i were you, i would replicate the share across all servers and use anycast load sharing...