Websocket配置证书支持wss

ssw=websocket+ssl
域名申请ssl证书,如果项目还没有配置https证书可以看这里>>>使用Certbot申请ssl证书

server {
    server_name www.xx.com;
    error_log  /var/log/nginx/www.xx.error.log ;
    access_log /var/log/nginx/ws.xx.access.log;

   location / {        # 新增代理
     proxy_pass http://123.57.1.190:8080;  # 转发到你本地的8080端口
     proxy_http_version 1.1;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection "upgrade";    # 升级协议头
   }
    # 域名的ssl认证
   listen 443 ssl; # managed by Certbot
   ssl_certificate /etc/letsencrypt/live/www.xx.com/fullchain.pem; # managed by Certbot
   ssl_certificate_key /etc/letsencrypt/live/www.xx.com/privkey.pem; # managed by Certbot
   include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
   ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebSocket是一种在单个TCP连接上进行全双工通信的协议,常用于实时应用程序,如在线聊天、游戏等。WSSWebSocket的加密版本,通过使用SSL/TLS协议来保护数据传输,提供了安全的通信环境。 配置WSSWebSocket over SSL)通常涉及到以下几个步骤: 1. **服务器端设置**: - 使用支持SSL/TLS功能的服务器库,如Node.js的`https`模块或Java的Jetty。 - 创建一个HTTPS服务器,加载SSL证书和私钥。证书用于客户端验证服务器的身份,私钥用于加密和解密数据。 ```javascript (Node.js, using https module): const https = require('https'); const fs = require('fs'); const options = { key: fs.readFileSync('path/to/private.key'), cert: fs.readFileSync('path/to/certificate.crt'), port: 8443, requestCert: true, rejectUnauthorized: true, server: { ws: true }, }; https.createServer(options, (req, res) => { // WebSocket handling logic here }).listen(options.port); ``` 2. **WebSocket处理**: - 在服务器上启用WebSocket支持,监听`upgrade`请求,并转换为WebSocket连接。 ```javascript: if (req.method === 'GET' && req.url === '/ws') { req.socket.on('upgrade', (socket, head, req) => { // Upgrade to WebSocket connection const ws = new WebSocket.Server({ server: socket }); ws.on('connection', wsClient => { // Handle WebSocket client connections }); }); } ``` 3. **客户端连接**: - 客户端使用`wss`而不是`ws`来建立连接,URL前缀加上`s`表示加密。 ```javascript (JavaScript client): const wss = new WebSocket('wss://yourdomain.com/ws'); wss.addEventListener('open', () => { // Connection established }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值