nginx 配置 wss 协议

nginx 配置 wss 协议其实 wss 认证和 https 认证没什么区别 只是需要单独添加两个格外的 header 支持一下 ws 协议升级而已 所以直接 copy 一个 https 模版进行简单的变更即可

大家好,欢迎来到IT知识分享网。

原理说明

其实 wss 认证和 https 认证没什么区别,只是需要单独添加两个格外的 header ,支持一下 ws 协议升级而已,所以直接copy 一个 https 模版进行简单的变更即可

链接简历过程

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"; } } 

————————————————

 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_/article/details/ 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/142690.html

(0)
上一篇 2025-05-08 18:45
下一篇 2025-05-08 19:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信