首页 > 其他分享 >gatewayworker 配置wss

gatewayworker 配置wss

时间:2023-04-18 16:58:52浏览次数:37  
标签:set obj ssl 配置 header wss proxy gatewayworker

走过好几个坑,今天终于给配好了,首先是gatewayworker中的start_gateway.php 中,使用官方提供的wss方式,如下

$context = array(
    // 更多ssl选项请参考手册 https://php.net/manual/zh/context.ssl.php
    'ssl' => array(
        // 请使用绝对路径
        'local_cert' => '/www/server/panel/vhost/cert/xxx/fullchain.pem', // 也可以是crt文件
        'local_pk' => '/www/server/panel/vhost/cert/xxx/privkey.pem',
        'verify_peer' => false,
        'allow_self_signed' => true,   //如果是自签名证书需要开启此选项
    )
);
$gateway = new Gateway("websocket://0.0.0.0:442", $context);
// 开启SSL,websocket+SSL 即wss
$gateway->transport = 'ssl';

  注意allow_self_signed这个选项一定要打开

然后就是对应的网站Nginx配置中添加如下

location /wss {
      proxy_pass https://127.0.0.1:442;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      rewrite /wss/(.*) /$1 break;
      proxy_redirect off;
    }

注意哈,这里最重要的一点就是proxy_pass https://127.0.0.1:442,查到csdn中的分享博客里写的全都是http,然后网页端死活连不上,终于多方查资料找到了问题所在。

最后HTML中连接websocket,这里注意一点,上面的nginx实际上是把域名+/wss给定向给了wss,所以连接的时候网址是wss://host/wss。这个也要细心一点

var websock = new WebSocket("wss://xxxx.test.com/wss");
        websock.onmessage = function(obj){
            console.log(obj)
        }
        websock.onopen = function(obj){
            console.log(obj)
        }
        websock.onclose = function(obj){
            console.log(obj)
        }

 

标签:set,obj,ssl,配置,header,wss,proxy,gatewayworker
From: https://www.cnblogs.com/dayin1/p/17330210.html

相关文章

  • mycat单库分表(踩坑安装、配置、程序连接)
    一、简介Mycat是一个彻底开源的,面向企业应用开发的大数据库集群中间件,本身带有非常复杂成熟的功能,完成数据库的集群,实现业务数据的分库分表。本次文章介分享的mycat的单库分表实际应用,包括在实际应用时所要注意的事项。二、下载mycat及环境要求在官网下载按照包:ht......
  • Java环境与Eclipse SDK安装涉及的环境变量调试,java环境配置
    资源包请自己下载。文本太大,我传到百度了。https://pan.baidu.com/s/1p6aFDOeXWULnK8STdQkwmw  这是地址资源地址小白师从高中老班长祯淮大哥,偷师于网页中的他人经验,因此,先说声谢谢他人的经验分享,为了记录学习过程,方便整理知识,做了以下学习分享。有错请大神指出。 这是我装好的......
  • Ubuntu下安装及配置MySQL
    与在centos下安装相比多很多坑,不建议用。 一、软件安装Ubuntu下有两种常用方式apt-get方式(类似于yum)deb包方式安装(类似于rpm包)1.下载并解压软件下载地址:http://dev.mysql.com/downloads/mysql/这个tar包里包含mysql软件所有deb软件包创建安装目录:mkdir/usr/local/mysql将.tar文......
  • edge浏览器选择配置文件启动
    最近在ubuntu上用edge浏览器,多配置文件的时候不管是启动还是切换都比较麻烦。因为微软的edge是基于Chromium开源项目,谷歌浏览器也是。以前在用谷歌浏览器的时候用过一些奇技淫巧应该在edge上也有效,索性自己摸索着改了一下edge的启动方式。确定配置文件百度找到了这个文章c#-S......
  • pfSense、OPNsense配置SoftEther VPN
    SoftEtherVPN (“SoftEther”意为“软件以太网”)是世界上最强大和易于使用的多协议VPN软件之一。它可以在Windows、Linux、Mac、FreeBSD和Solaris上运行。SoftEtherVPN不仅是现有VPN产品(OpenVPN、IPsec和MS-SSTP)的替代VPN服务器,同时还具有独创的强大SSL-VPN协议,可以穿透......
  • [Maven] The JAVA_HOME environment variable is not definded...... 配置错误日志
    ...因为是第一次配置Maven,所以出现了很多错误所以列举一二。出现找不到Java_Home环境变量的时候,如图。这个时候可能是,你的Java_Home路径配置错误,在Java_Home路径中,将\bin删掉,在path后面跟\bin,如%java_home%\bin,而不是直接在java_home中直接写死。......
  • nginx服务在高并发场景下的优化方案及具体配置
      随着互联网的快速发展,高并发场景下的网站服务已经成为了许多企业和网站必须面对的问题。在这些场景下,如何优化nginx服务成为了一个非常重要的问题。本文将介绍一些在高并发场景下优化nginx服务的方案和具体配置。一、基础配置worker_processes该参数指定了nginx的工作进......
  • ubuntu1804的网络配置(桥接)
    笔记ubuntu1804的网络配置(VMwareWorkstation)在虚拟机的编辑里面的虚拟网络编辑器中,先添加一个网络,然后更改设置,将VMnet信息选择桥接、自动。2.虚拟机设置,选择硬件里面的网络适配器,连接方式选择桥接。3.进入Ubuntu命令行,输入命令(1.ifconfig查看网卡和ip(2.sudovi/etc/n......
  • 配置环境变量
    配置环境变量是指为了让系统或程序识别并访问一些特定的路径、库文件或命令等,而将这些路径、库文件或命令等信息保存在系统环境变量中,以便系统或程序使用。环境变量是一种存储在操作系统中的全局变量,它可以为程序提供一个特定的工作环境和配置信息。在Linux操作系统中,可以通过编......
  • 配置淘宝镜像
    1.npm淘宝镜像npmconfigsetregistryhttps://registry.npm.taobao.org,切换国内镜像,使用淘宝镜像npmconfiggetregistry,查看当前镜像使用的地址,返回成功,则代表设置成功代码执行情况: 如果国内镜像使用不合适,则可切换为默认镜像(国外)命令如下:npmconfigsetregistryhttps......