在httpd.conf文件中,启用 proxy_wstunnel_module 模块 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so 在ssl.conf文件中,配置SSL及代理 <VirtualHost _default_:443> DocumentRoot "/var/www/html/welive" ServerName gzmc168.cn ServerAlias e.gzmc168.cn ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLCertificateFile /etc/httpd/ssl/gzmc168/e.gzmc168.cn_public.crt SSLCertificateKeyFile /etc/httpd/ssl/gzmc168/e.gzmc168.cn.key SSLCertificateChainFile /etc/httpd/ssl/gzmc168/e.gzmc168.cn_chain.crt #这块就是最主要的 SSLProxyEngine on ProxyRequests Off ProxyPass /wss ws://47.244.118.60:8430 #wss://服务器ip:websocket端口号 ProxyPassReverse /wss wss://e.gzmc168.cn/wss #客户端的域名 </VirtualHost> 客户端js连接 // 证书是会检查域名的,请使用域名连接 ws = new WebSocket("wss://e.gzmc168.cn/wss"); ws.onopen = function() { alert("连接成功"); ws.send(‘tom‘); alert("给服务端发送一个字符串:tom"); }; ws.onmessage = function(e) { alert("收到服务端的消息:" + e.data); }; 记得重启服务器
原文地址 : http://www.manongjc.com/detail/18-nunyqyxvnmdrztm.html