As this is a 3rd party app, I'm not sure if I'm going to be able to get them to change their app. Therefore, I was wondering if there's something I can do on the HAProxy server to force a secure websocket connection.
Isso depende principalmente do aplicativo de terceiros. Se o aplicativo está usando especificamente o protocolo ws:
, não há nada que você possa fazer no lado HAProxy - os navegadores nem se conectam à instância HAProxy, então você nem sequer tem a chance de fazer algo a respeito.
Você precisaria abrir um problema com os desenvolvedores de aplicativos de terceiros e fazer com que eles sejam configuráveis pelo protocolo de soquete da Web ou adicionar alguma detecção (se a página for carregada por HTTPS e usar o WSS).
Como alternativa, você pode introduzir a regravação de conteúdo, em que você tem algo que modifica o conteúdo de saída para reescrever ws: / to wss: //. HAProxy não pode fazer isso, mas o Nginx junto com o módulo sub_filter
pode.