Nginx配置WebSocket【this request has been blocked; this endpoint must be available over WSS.】

一、对wss与nginx代理wss的理解:

 1、wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL)。

 2、利用nginx代理wss【通讯原理及流程】

   (1)、客户端发起wss连接连到nginx

   (2)、nginx将wss协议的数据转换成ws协议数据并转发到Workerman的websocket协议端口

   (3)、Workerman收到数据后做业务逻辑处理

   (4)、Workerman给客户端发送消息时,则是相反的过程,数据经过nginx/转换成wss协议然后发给客户端
         

二、Nginx配置ssl和wss

Nginx配置文件

map $http_upgrade $connection_upgrade {
    		default upgrade;
    		'webscoket' upgrade;
   	}  #这一部分配置是我解决这个问题的最关键部分!!!
server
{
    listen 80; #http请求
	listen 443 ssl http2;  #https请求
    server_name **.admin.bdlhcloud.com;  #域名
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/*.admin.bdlhcloud.com;
    
    ssl_certificate    /www/server/panel/vhost/cert/*.admin.bdlhcloud.com/*.pem;   #SSL证书
    ssl_certificate_key    /www/server/panel/vhost/cert/*.admin.bdlhcloud.com/*.key;   #SSL证书
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;

location /websocket {
      proxy_pass http://服务器ip:端口;  #切记!!开放端口!!
       proxy_http_version 1.1;
       proxy_set_header   Upgrade             $http_upgrade;
       proxy_set_header   Connection  "Upgrade";
       proxy_set_header   X-Real-IP        $remote_addr;
	}

}

         

三、Nginx配置文件添加SSL证书

在这里插入图片描述

         

四、通过wss和ws连接websocket

 1、wss连接:

   前端访问地址:wss://*.admin.bdlhcloud.com/websocket
在这里插入图片描述 2、ws连接:

   前端访问地址:ws://*.admin.bdlhcloud.com/websocket

在这里插入图片描述

参考文档:

https://blog.csdn.net/qq_35808136/article/details/89677749

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值