php 的swoole 和websocket 连接wss
方法一、 设置证书
$serv = new swoole_server('0.0.0.0', 9501, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL);
$serv->set(array(
'ssl_cert_file' => __DIR__.'/config/ssl.crt',//证书位置
'ssl_key_file' => __DIR__.'/config/ssl.key',//证书位置
'worker_num' => 2,
'task_worker_num' => 2
));
此方方法我自己的服务器设置没毛病,公司的还是wss时还是链接错误。最后用的方法二成功解决,记录下别忘了
方法二、 启用代理 ssl需要关闭 以nginx为列,在网站配置文件中加入即可
ssl on;
location /wss
{
proxy_pass http://127.0.0.1:9501;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}