簡體   English   中英

apache 2.4.6 reverseeproxy mod_proxy_wstunnel for secure websocket wss://失敗

[英]apache 2.4.6 reverseproxy mod_proxy_wstunnel for secure websocket wss:// fails

我正在嘗試將apache server 2.4.6配置為支持websocket代理的最新版本。

我得到了非安全的websocket連接按預期工作,HTTPS代理工作也正常[這將刪除SSL配置作為根本原因]但我的wss://連接失敗。 在使用wireshark進行故障排除時,我了解到wss://連接是通過純文本進行的。

這是我的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>

當連接啟動到wss://cbscclrd.ca.wm.com:443時它是純文本格式,因此偵聽“cbscclrd.ca.wm.com:443”的服務器拒絕連接時出現以下錯誤消息; javax net ssl SSLException

任何幫助將不勝感激。

這是mod_proxy_wstunnel中的一個錯誤。 無論url方案如何(ws://或wss://),它總是會向后端服務器發送明文。

這里報告了這個bug: https//issues.apache.org/bugzilla/show_bug.cgi?id = 55320

錯誤修復相當簡單(並在錯誤報告中提供)。 因此,如果您真的需要wss://后端通信,您可能希望自己應用它並重建模塊。

在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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM