首页 > 系统相关 >nginx升级连接为websocket

nginx升级连接为websocket

时间:2023-01-16 14:34:47浏览次数:48  
标签:websocket ssl server nginx wss EECDH 连接

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

  • wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL)。
  • 客户端发起wss连接连到nginx
  • nginx将wss协议的数据转换成ws协议数据并转发到Workerman的websocket协议端口
  • Workerman收到数据后做业务逻辑处理
  • Workerman给客户端发送消息时,则是相反的过程,数据经过nginx/转换成wss协议然后发给客户端
server {
    listen   80;
    listen 443 ssl http2;
    server_name example.com;
    location / {
        # 代理转发地址
        proxy_pass   http://127.0.0.1:8080;
        # 超时设置
        proxy_read_timeout   3600s;
        # 启用支持websocket连接,重要的是这两行,它表明是websocket连接进入的时候,进行一个连接升级将http连接变成websocket的连接。
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    # 强制https
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    # SSL证书配置
    ssl_certificate    /www/server/panel/vhost/cert/example.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/example.com/privkey.pem;
    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";
}

标签:websocket,ssl,server,nginx,wss,EECDH,连接
From: https://www.cnblogs.com/oldweipro/p/17055318.html

相关文章

  • 解决jenkins连接github一直报443超时问题
    从网上学到的方法,记录一下:转自:https://blog.csdn.net/weixin_45317091/article/details/1134099091、先ping一下GitHubpinggithub.com,发现超时,然后百度解决超时的问题:......
  • 【笔记】python连接神通数据库
    python连接国产神州通用数据库。一、准备下载whl及dll:链接:https://pan.baidu.com/s/1lwE-FwIsf-aYjoqCPij2hA提取码:49qp二、安装 目录如上。1、aci.dll加入......
  • 内网Linux下安装Nginx1.23,添加stream模块实现tcp/udp代理转发
    环境:centos7.6ngx_stream_core_module这个模块在1.9.0版本后将被启用。但是并不会默认安装,需要在编译时通过指定--with-stream参数来激活这个模块,window下并不支持udp......
  • 一实例从WebSocket入门至精通
    主要是客户端的进化(环境jdk1.7以上tomcat7.34以上) 1、服务器端packagecom;importjava.io.IOException;importjava.util.concurrent.CopyOnWriteArraySet;imp......
  • windows远程桌面之前用于连接到xxx的凭据无法工作
    使用windows远程桌面连接时报错提示:之前用于连接到xxx的凭据无法工作确认输入的用户名密码没有问题解决方法:打开gpedit.msc组策略管理,依次找到计算机配置>windows......
  • Nginx与LUA(3)
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~在互联网应用中,很多场景都会涉及到高并发请求,如果不对这些请求做限制,那么服务器很快就会被挤垮。就像在12306买票一样,如果......
  • Nginx与LUA(3)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~   在互联网应用中,很多场景都会涉及到高并发请求,如果不对这些请求做限制,那么服务器很快就会被挤垮。就像在12306买......
  • ABB 800XA学习笔记08:连接模拟器初步
    这一篇学习笔记我在新浪博客发表过,地址是ABB800XA学习笔记08:连接模拟器初步_来自金沙江的小鱼_新浪博客(sina.com.cn)在这里再记录一遍,以免丢失前面配置的学习暂告一个......
  • nginx配置安全漏洞之CRLF注入漏洞
    CRLF漏洞原理参考:https://www.leavesongs.com/PENETRATION/Sina-CRLF-Injection.htmlCRLF是”回车+换行”(\r\n)的简称。在HTTP协议中,HTTPHeader与HTTPBody是用两个CRL......
  • nginx开机启动脚本
    vi/etc/rc.d/init.d/nginx#编辑启动文件添加下面内容=======================================================#!/bin/sh##nginx-thisscriptstartsandstopst......