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 即可