2013-07-26 32 views
11

Sto provando a configurare il server Apache 2.4.6 la versione più recente che supporta il proxy websocket.apache 2.4.6 reverseproxy mod_proxy_wstunnel per secure websocket wss: // fail

Ho una connessione websocket non sicura per funzionare come previsto e anche un proxy HTTPS che funziona [questo per rimuovere la configurazione SSL come causa principale] Ma la mia connessione wss: // fallisce. Durante la risoluzione dei problemi con wireshark ho appreso che su wss: // la connessione avviene tramite testo normale.

Ecco la mia configurazione di Apache:

<VirtualHost *:4043> 

ServerName cbscclrd.ca.wm.com 
LogLevel debug 
ErrorLog "/apps/apache/httpd-2.4.6/logs/errorSSL_log" 
TransferLog "/apps/apache/httpd-2.4.6/logs/access_log" 

SSLCertificateFile "/apps/FXD1D2/SSLKeyStore/sdpssl_cert-dev.cer" 
SSLCertificateKeyFile "/apps/FXD1D2/SSLKeyStore/sdp-private-key-no-password.pem" 
SSLCACertificateFile "/tmp/Apache-PKG/CAchain.pem" 

    SSLEngine on 
    SSLProxyEngine on 
    ProxyPreserveHost On 
    ProxyRequests Off 
    ProxyPass/wss://cbscclrd.ca.wm.com:443 retry=0 keepalive=On 
    ProxyPassReverse/wss://cbscclrd.ca.wm.com:443 retry=0 

</VirtualHost> 

Quando la connessione avviato per WSS: //cbscclrd.ca.wm.com: 443 è formato in chiaro, quindi, il server in ascolto su "cbscclrd.ca.wm.com : 443 "rifiuta la connessione con il seguente messaggio di errore: javax net ssl SSLException

Qualsiasi aiuto sarà molto apprezzato.

risposta

3

Questo è un bug in mod_proxy_wstunnel. Invia sempre testo in chiaro al server di back-end indipendentemente dallo schema dell'URL (ws: // o wss: //).

Il bug è riportato qui: https://issues.apache.org/bugzilla/show_bug.cgi?id=55320

Il bugfix è piuttosto semplice (e fornito nel rapporto bug). Quindi, se hai davvero bisogno del wss: // backend communication, potresti applicarlo da solo & ricostruire il modulo.

2

in Apache-2.4_server.conf

ProxyPass "/ws/" "ws://127.0.0.1:4002/" 
ProxyPass "/wss/" "wss://127.0.0.1:4002/" 

... 
LoadModule proxy_module   modules/mod_proxy.so 
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so