Você realmente precisa adicionar um vhost para o tráfego ws, que está ouvindo *:80
Há um ponto, que falha com RewriteCond
ou com ProxyPass
no Arquivo VHost errado.
Seu tráfego é criptografado pelo certificado que você está usando. Portanto, a conexão não será estabelecida corretamente. Seu host remoto não pode lê-lo.
Com base na documentação em wikipedia :
The communications are done over TCP port number 80 [..]
Seu arquivo VHost adicional deve ficar assim:
<VirtualHost *:80>
ServerName localhost.localdomain
ProxyPreserveHost On
ProxyRequests Off
ProxyPassReverse / ws://192.16.4.177:6969/
ProxyPass / ws://192.16.4.177:6969/
</VirtualHost>
Como explicação. Todo o seu pedido passando por http: 80 é redirecionado para ws: 6969.