nginx配置wss示例

nginx配置wss

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

第一步

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

第二步

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

nginx配置wss示例_第1张图片

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

nginx配置wss示例_第2张图片

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

nginx配置wss示例_第3张图片

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

在这里插入图片描述

第三步

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

nginx配置wss示例_第4张图片

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

nginx配置wss示例_第5张图片

nginx配置wss示例_第6张图片

然后新建一个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 即可

你可能感兴趣的:(运维)