标签:httpd AES256 Workerman3 RSA ECDHE wss ws apache
第一步:配置apache
也可以利用apache作为wss代理转发给workerman(注意如使用apache代理SSL,则workerman部分千万不要设置ssl,否则将无法连接)。
准备工作:
1、GatewayWorker 监听 8282 端口(websocket协议)
(这里的8282 端口 是你自定义的端口,下同,记得开放相应的端口)
2、已经申请了ssl证书, 放在了/server/httpd/cert/ 下
3、利用apache转发443端口至指定端口8282
4、httpd-ssl.conf 已加载
5、openssl 已安装
启用 proxy_wstunnel_module 模块
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
配置SSL及代理
#extra/httpd-ssl.conf DocumentRoot "/网站/目录" ServerName 域名 # Proxy Config SSLProxyEngine on ProxyRequests Off ProxyPass /wss ws://127.0.0.1:8282/wss ProxyPassReverse /wss ws://127.0.0.1:8282/wss # 添加 SSL 协议支持协议,去掉不安全的协议 SSLProtocol all -SSLv2 -SSLv3 # 修改加密套件如下 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherOrder on # 证书公钥配置 SSLCertificateFile /server/httpd/cert/your.pem # 证书私钥配置 SSLCertificateKeyFile /server/httpd/cert/your.key # 证书链配置, SSLCertificateChainFile /server/httpd/cert/chain.pem
<IfDefine ENABLE_TLS13>
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite SSL ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:!RC4:!LOW:!MD5:!aNULL:!eNULL:!3DES:!EXP:!PSK:!SRP:!DSS
SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256
</IfDefine>
第二步:前端写法
(注意wss://域名/wss 这里是默认的443 端口 而且 地址后面要加/wss)
// 证书是会检查域名的,请使用域名连接 ws = new WebSocket("wss://域名/wss"); ws.onopen = function() { alert("连接成功"); ws.send('tom'); alert("给服务端发送一个字符串:tom"); }; ws.onmessage = function(e) { alert("收到服务端的消息:" + e.data); };
标签:httpd,AES256,Workerman3,RSA,ECDHE,wss,ws,apache 来源: https://www.cnblogs.com/kousum/p/12992238.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。