nginx配置wss示例

nginx配置wss

又好久没更新我的博客了,今天出于一些工作,需要在nginx搭建wss,下面我来示例一下

第一步

先申请号你的SSL证书,拿到private.key和full_chain.pem这两个文件

第二步

下载一个Key转换工具,推荐这个工具,挺好用的https://keymanager.org/,下载好后打开,选择导入证书

选择导入证书

然后上传private.key和full_chain.pem这两个文件

在这里插入图片描述

然后选择改证书的菜单,选择导出证书

在这里插入图片描述

然后选择nginx,然后导出。解压后你就会得到一个.cert的文件

在这里插入图片描述

第三步

将.cert文件和private.key文件上传至服务器,我这里就将文件上传之nginx配置文件同意目录下,即/etc/nginx下

在这里插入图片描述

然后编辑nginx的配置文件 vim /etc/nginx/nginx.conf,然后将servername改成您的域名,然后在最下方加入include /etc/nginx/conf/wss.conf;

在这里插入图片描述

在这里插入图片描述

然后新建一个wss.conf;vim wss.conf,然后输入以下内容

upstream websocket { server 101.200.59.227:80;#远程websocket服务器地址 } upstream web{ server www.mxspace.club;# 远程http接口 } # 通过下面的反向代理到上面的接口去
server {
    listen 443;#默认https和wss协议端口
    ssl on;
    ssl_certificate /etc/nginx/www.mxspace.club_chain.crt;#你的上传到服务器的证书位置
    ssl_certificate_key /etc/nginx/private.key;#你的上传到服务器的证书位置    
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:50m;
    ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    underscores_in_headers on;#开启自定义头信息的下划线
    #wss协议转发 小程序里面要访问的链接
    location /wss {
        proxy_pass http://websocket;#代理到上面的地址去
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }   
    #https协议转发 小程序里面要访问的链接
    location /{ 
    proxy_pass http://web;#代理到原有的http的地址去
    proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    add_header Access-Control-Allow-Origin *;#跨域访问设置
    }
}

然后就可以啦,客户端访问的时候的时候就写成wss://域名/wss 即可

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
要在nginx配置WebSocket over SSL(wss),您可以按照以下步骤进行操作: 1. 确保您已经安装了nginx,并且具备基本的配置知识。 2. 生成SSL证书和私钥。您可以自己生成自签名证书,或者购买来自受信任的证书颁发机构(CA)的证书。 3. 在nginx配置文件中,找到您要使用的server块,并在其中添加以下配置: ``` server { listen 443 ssl; server_name your_domain.com; ssl_certificate /path/to/your/certificate.crt; ssl_certificate_key /path/to/your/private_key.key; # 配置其他SSL参数(可选) ssl_protocols TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location /websocket { proxy_pass http://backend_server; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } } ``` 确保将上面的`/path/to/your/certificate.crt`和`/path/to/your/private_key.key`替换为您实际的证书和私钥路径。 4. 将上述配置文件保存并关闭。 5. 使用以下命令重启或重新加载nginx配置: ``` sudo systemctl restart nginx ``` 现在,您的nginx服务器应该已经配置为支持wss。通过访问 `https://your_domain.com/websocket`,您应该能够建立WebSocket连接并进行通信。 请注意,上述配置仅为示例,并假定您正在将WebSocket流量代理到名为`backend_server`的后端服务器。您需要相应地更改`proxy_pass`指令以反映您的实际设置。 希望这可以帮助到您!
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵神翁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值