apache 配置socket wss

在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

posted @ 2021-02-21 23:11  勿回头  阅读(1083)  评论(0编辑  收藏  举报