php 的swoole 和websocket 连接wss

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;
  }
猜你喜欢