vali 6 年之前
父节点
当前提交
a33562faaf
共有 1 个文件被更改,包括 27 次插入2 次删除
  1. 27 2
      vendor/GatewayWorker_windows/Applications/whisper/start_gateway.php

+ 27 - 2
vendor/GatewayWorker_windows/Applications/whisper/start_gateway.php

@@ -21,8 +21,33 @@ use \Workerman\Autoloader;
 // 自动加载类
 require_once __DIR__ . '/../../vendor/autoload.php';
 
-// gateway 进程,这里使用Text协议,可以用telnet测试
-$gateway = new Gateway("Websocket://0.0.0.0:9101");
+$ifssl = true;
+
+if ($ifssl) {
+    $mds = DIRECTORY_SEPARATOR;
+    if (strtolower(substr(PHP_OS, 0, 3)) == 'win') {
+        $sslkeyPath = realpath(dirname(__FILE__) . $mds . '..' . $mds . '..' . $mds . '..' . $mds . '..') . $mds . 'application' . $mds . 'sslkey' . $mds;
+    } else {
+        $sslkeyPath = realpath(dirname(__FILE__) . $mds . '..' . $mds . '..' . $mds . '..' . $mds . '..' . $mds . '..') . $mds . 'application' . $mds . 'sslkey' . $mds;
+    }
+    // 证书最好是申请的证书
+    $context = array(
+        'ssl' => array(
+            'local_cert' => $sslkeyPath . 'ssl.crt', // 也可以是crt文件
+            'local_pk' => $sslkeyPath . 'ssl.key',
+            'verify_peer' => false,
+            //'verify_peer_name' => false,
+            'allow_self_signed' => true, //如果是自签名证书需要开启此选项
+        )
+    );
+    // gateway 进程,这里使用Text协议,可以用telnet测试
+    $gateway = new Gateway("Websocket://0.0.0.0:9101", $context);
+    //开启ssl
+    $gateway->transport = 'ssl';
+} else {
+    $gateway = new Gateway("Websocket://0.0.0.0:9101");
+}
+
 // gateway名称,status方便查看
 $gateway->name = 'WhisperGateway';
 // gateway进程数