Swoole配置ssl(支持wss)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swoole配置ssl(支持wss)相关的知识,希望对你有一定的参考价值。

参考技术A 1、编译安装swoole。

开启 openssl-ssl

测试 php --ri swoole

2、创建websocket服务

3、初始化ws服务:

4、前端(域名不是ip):

nginx配置支持https和wss(websocket)协议

server {
        listen 80;
        listen 443 ssl http2;
        server_name lyz810.com;
 
        root /website/lyz810-main;
 
        ssl_certificate     certificate/lyz810.com.crt;
        ssl_certificate_key certificate/lyz810.com.key;
 
        location /websocket/ {
                internal;
 
                if ( $http_sec_websocket_protocol = "" ) {
                        return 400;
                }
                proxy_pass http://127.0.0.1:$arg_port;
                proxy_http_version 1.1;
                proxy_set_header X-Client-IP $remote_addr;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_read_timeout 300s;
        }
        location /chatRoom {
                rewrite .* /websocket/?port=8100;
        }
        location /chatRobot {
                rewrite .* /websocket/?port=8101;
        }
}

服务器内部起了2个websocket服务,分别监听8100、8101端口nginx根据访问不同的location,选择代理到那个ws服务商

/websocket/是个内部location,直接访问会报错

 

 

参考链接:

http://www.cnblogs.com/weidiao/p/7389744.html

http://www.cnblogs.com/mzsg/p/5623494.html

以上是关于Swoole配置ssl(支持wss)的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序之swoole/WebSocket创建聊天室(php)

Swoole开启SSL支持

配置php7 以支持swoole

使用swoole框架还用 nginx吗

swoole和workerman哪个更易开发

docker ubuntu swoole fatal error: openssl/ssl.h: No such file or directory