**一、生成本地证书**
创建服务器私钥,命令会让你输入一个口令:
`$ openssl genrsa -des3 -out server.key 1024`
创建签名请求的证书(CSR):
`$ openssl req -new -key server.key -out server.csr`
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:
`$ cp server.key server.key.org`
`$ openssl rsa -in server.key.org -out server.key`
最后标记证书使用上述私钥和CSR:
`$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt`
创建wss服务
准备工作:
1、Workerman版本不小于3.3.7
2、PHP安装了openssl扩展
3、已经申请了证书(pem/crt文件及key文件)放在了/etc/nginx/conf.d/ssl下
start_gateway.php中设置以下代码。
```php
$context = array(
'ssl' => array(
'local_cert' => '/etc/nginx/conf.d/ssl/server.pem', // 或者crt文件
'local_pk' => '/etc/nginx/conf.d/ssl/server.key',
'verify_peer' => false
)
);
// websocket协议
$gateway = new Gateway("websocket://0.0.0.0:7272", $context);
// 开启SSL,websocket+SSL 即wss
$gateway->transport = 'ssl';
```
**通过以上配置不成功,但是服务可以正常启动。**