nginx 配置 wss 协议

这篇具有很好参考价值的文章主要介绍了nginx 配置 wss 协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原理说明

其实 wss 认证和 https 认证没什么区别,只是需要单独添加两个格外的 header ,支持一下 ws 协议升级而已,所以直接copy 一个 https 模版进行简单的变更即可文章来源地址https://www.toymoban.com/news/detail-753339.html

链接简历过程

ws 建立连接过程

  • 前端向后段发送标准的http连接请求,并携带升级协议相关参数,同时设置一个安全密钥
    • Connection: Upgrade:表示要升级协议
    • Upgrade: websocket:表示要升级到websocket协议。
    • Sec-WebSocket-Version: 13:表示websocket的版本。如果服务端不支持该版本,需要返回一个Sec-WebSocket-Versionheader,里面包含服务端支持的版本号。
    • Sec-WebSocket-Key:与后面服务端响应首部的Sec-WebSocket-Accept是配套的,提供基本的防护,比如恶意的连接,或者无意的连接。
  • 后段回复协议同意升级,并回复相关信息内容
    • Connection:Upgrade
    • Upgrade: websocket
    • Sec-WebSocket-Accept: byzN0AQ13jhfONC1bP8dTKb4PTU=

注意事项

  • xxxxxx.net 换成自己的域名
  • pem和key不要过期,注意路径要正确

nginx 配置 wss 协议的配置文件如下

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    listen 443 ssl;

    #填写证书绑定的域名
    server_name xxxxxx.net;
   
    #填写证书文件名称
    ssl_certificate /opt/pki/xxxxxx.net.pem;
    #填写证书私钥文件名称  
    ssl_certificate_key /opt/pki/xxxxxx.net.key;

    ssl_session_timeout 5m;
    #表示使用的加密套件的类型
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

    ssl_prefer_server_ciphers on;
    access_log  logs/xxxxxx.net.access.log  main;
    	        
     location /ws {
        proxy_pass http://localhost:31697;
	    proxy_read_timeout              500;
	    proxy_set_header                Host    $http_host;
	    proxy_set_header                X-Real-IP          $remote_addr;
	    proxy_set_header                X-Forwarded-For $proxy_add_x_forwarded_for;
	    proxy_http_version 1.1;
    	
    	# ws 协议专用头
     	proxy_set_header                Upgrade $http_upgrade;
    	proxy_set_header                Connection "Upgrade";
    }
}

到了这里,关于nginx 配置 wss 协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx配置WebSocket(WS)和WebSocket Secure(WSS)的完整指南

    Nginx是一款广泛使用的高性能Web服务器和反向代理服务器。除了传统的HTTP和HTTPS协议支持外,Nginx还可以配置WebSocket(WS)和WebSocket Secure(WSS),以便实现实时双向通信。本文将提供关于如何在Nginx中配置和使用WebSocket和WebSocket Secure的详细指南。 要开始配置WebSocket和WebSocket

    2024年02月16日
    浏览(49)
  • 关于Nginx配置SSL证书(Https)和WebSocket的wss

    一. 生成SSL自签证书        自签证书就是自己生成的证书,免费的,不支持部署浏览器的,支持浏览器的就是收费的,需要购买,这里因为是本地测试,所以就用的自签证书,买的证书可以跳过证书生成部分.  安装OpenSSL           OpenSSL是生成SSL的工具,这里是在Win10下安装的,下载的

    2023年04月14日
    浏览(51)
  • websocket配置wss访问

    做一个小程序项目,3d多人聊天室互动,有两台服务器,windows系统和contos7 分别用来写小程序逻辑和部署socket.io 由于小程序里面都是https的请求,所以socket.io请求需要从ws(未加密)改成wws(加密) 下面应该是使用nginx反向代码解决这wss访问问题 两个简单问题解决记录 由于小

    2023年04月27日
    浏览(39)
  • Nginx 配置WSS端口转发

    游戏用C++写的后台,需要使用Nginx配置一个SSL证书实现WSS连接。 找到Nginx配置文件,在http块中复制下面的代码,意思是升级一下连接 找到网站设置,设置证书(域名服务商申请一个免费的并下载上传到服务器)和代理

    2024年02月11日
    浏览(66)
  • Nginx 配置https以及wss

    可以在阿里云申请免费ssl证书,一年更换一次 注意: 1、配置完成后nginx需要重启,reload证书是不会生效的 2、如需要支持wss协议,需要增加配置: proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \\\"upgrade\\\"; 3、配置https之后,最后就禁用掉http,通过如下配置,强制跳转https

    2024年02月11日
    浏览(43)
  • nginx: 配置https证书,wss证书

    作用:SSL证书卸载 openssl genrsa -des3 -out server.key 2048 openssl req -new -key server.key -out server.csr openssl rsa -in server.key -out server.key openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt 放在指定目录,比如 /usr/local/cert TODO 其他证书制作方式 nginx.conf文件,注意proxy_pass后面的斜杠

    2024年02月04日
    浏览(43)
  • 在Docker 上使用 Nginx 配置https及wss

    预先创建挂载文件 使用docker启动nginx时候需要提前创建好宿主机的挂载文件,文件会在挂载成功之后自动从nginx的容器中复制默认内容 运行并且挂载容器 nginx.conf 文件 default.conf 文件

    2024年02月11日
    浏览(47)
  • 记录一次nginx+Websocket反向代理时报错504-gateway TimeOut和各种开发遇到的坑(wss链接404、ws链接400 bad Requset等等)

    需要反向代理转发websocket链接。 1、nginx路径未匹配上 2、链接上后,在默认的http链接时长中没有发送心跳包,nginx自动关闭http链接,一般默认为1分钟 3、http链接转发后并没有升级为websockt链接(Bad Request 400错误) 4、websocket长链接1分钟后自动关闭 5、wss链接通过nginx转发时,

    2024年02月15日
    浏览(52)
  • 【运维安全】运维界葵花宝典:Nginx配置与优化秘籍

    必要的原理介绍 ● Nginx 里有一个master进程和多个worker进程.master进程并不处理网络请求,主要负责调度工作进程: 加载配置,启动工作进程及非停升级.worker进程负责处理网络请求与响应. ● master进程主要用来管理worker进程,具体包括如下4个主要功能: 接收来自外界的信号 向各wo

    2024年02月21日
    浏览(50)
  • nginx(六十九)nginx配置websocket

    一    知识铺垫 ①  websocket基础知识 ②  proxy_set_header ③  HTTP协议升级机制 ④  协议 升级 的原理  ⑤  Connection和Upgrade头 Connection RFC文档解读 为什么HTTP Upgrade的时候,需要Connection: upgrade ⑥   逐跳头部 hop-by-hop header  重点 Connection Keep-Alive Proxy-Authenticate Proxy-Authorization TE

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包