政务网站建设规范,江苏省住房和城乡建设厅官网,212200扬中论坛,手机大全一、前言
上一篇文章WebSocket实战之三遇上PAC #xff0c;碰到的问题只能上安全的WebSocket#xff08;WSS#xff09;才能解决#xff0c;配置证书还是挺麻烦的#xff0c;主要是每年都需要重新更新证书#xff0c;我配置过的证书最长有效期也只有两年#xff0c;搞不…一、前言
上一篇文章WebSocket实战之三遇上PAC 碰到的问题只能上安全的WebSocketWSS才能解决配置证书还是挺麻烦的主要是每年都需要重新更新证书我配置过的证书最长有效期也只有两年搞不清楚为什么CA证书的有效期那么短是为了多收钱吗 注网上找的一张图理论与实践相结合理论指导实践实践验证理论。
二、配置WSS
WebSocket协议定义了WebSocket(WS://)以及WebSocket安全WSS://两种前缀WebSocket使用HTTP握手然后升级为WebSocket协议进行通信WebSocket安全WSS使用HTTPS握手然后升级为安全的WebSocket协议WSS其实就是WSTLS。
1、Nginx配置证书 map指令根据客户端请求$http_upgrade变量的值来改变$connection_upgrade的值。如果没有规则匹配的话$connection_upgrade值为upgrade如果$http_upgrade为空字符串$connection_upgrade值为close。 snakeoil.conf 注WSS证书的配置与HTTPS证书配置是一样的另外/websocket/几行代码就是用来将WebSocket的连接转发到WebSocket应用。
2、客户端代码 只需要把ws改成wss就可以。
注配置WSS几乎不用更改程序代码。
三、WSS协议抓包分析
tcpdump -ieth0 port 443 -w wss.pcap将这张图与WebSocket实战之二协议分析 对比我们发现基于TLS的WSS在网络传输过程中完全被加密了而如果是未加密的WS协议一些代理服务器可能理解不了类似101响应码会导致WebSocket握手失败而使用WSS协议数据是加密的代理只能允许连接成功并且允许WebSocket数据流通过不然会造成误伤。
注使用了WSS一个方面数据传输更安全数据抓包看不到传的是什么东东另外一方面可以保证能够顺利穿透代理服务器和防火墙。
chrome://net-internals
在浏览器端除了可以用Chrome开发者工具调试WebSocket还可以使用net-internals进行更低级的网络诊断可以查看WebSocket套接字的细节。 四、WSS与HTTPS关系
TCP-HTTP
TCP-TLS-HTTPS
TCP-WS 使用HTTP协议进行握手然后用WS进行数据传输。
TCP-TLS-WSS 使用HTTPS协议进行握手然后用WSS进行数据传输。