2013-07-26 6 views
11

Ich versuche, Apache Server 2.4.6 die neueste Version, die Websocket Proxy unterstützen zu konfigurieren.Apache 2.4.6 Reverseproxy mod_proxy_wstunnel für sichere Websocket wss: // schlägt fehl

Ich habe nicht sichere Websocket-Verbindung funktioniert wie erwartet und HTTPS-Proxy funktioniert auch [dies zu SSL-Konfiguration als die Ursache zu entfernen] Aber meine wss: // Verbindung schlägt fehl. Bei der Fehlersuche mit Wireshark habe ich gelernt, dass auf wss: // die Verbindung über reinen Text hergestellt wird.

Hier ist meine Apache-Konfiguration:

<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> 

Wenn die Verbindung zum WSS initiiert: //cbscclrd.ca.wm.com: 443 es ist Klartext Format daher der Server lauscht auf „cbscclrd.ca.wm.com : 443 "lehnt die Verbindung mit der folgenden Fehlermeldung ab; javax net ssl SSLException

Jede Hilfe wird sehr geschätzt.

Antwort

3

Dies ist ein Fehler in mod_proxy_wstunnel. Es sendet immer Klartext an den Backend-Server, unabhängig vom URL-Schema (ws: // oder wss: //).

Der Fehler wird hier berichtet: https://issues.apache.org/bugzilla/show_bug.cgi?id=55320

Der Bugfix ziemlich einfach ist (und im Fehlerbericht zur Verfügung gestellt). Wenn Sie also die wss: // Backend-Kommunikation wirklich benötigen, können Sie sie selbst anwenden. & bauen Sie das Modul neu auf.

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