zoukankan      html  css  js  c++  java
  • Workerman3 创建wss服务 利用apache代理wss

    第一步:配置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);
    };
    

      

  • 相关阅读:
    Linux与Windows共享文件夹之samba的安装与使用(Ubuntu为例)
    linux下导入、导出mysql数据库命令
    navicat for mysql (10038)如何解决,远程无法连接问题
    js过滤前后空格
    js大小写转换
    Sublime Text 超好用的侧栏插件SideBarEnhancements
    nginx,FastCGI启动语句
    Samba Linux和Windows互访
    JS 添加千分位,测试可以使用
    Sublime Text插件:HTML+CSS+JAVASCRIPT+JSON快速格式化
  • 原文地址:https://www.cnblogs.com/kousum/p/12992238.html
Copyright © 2011-2022 走看看