编程技术分享平台

网站首页 > 技术教程 正文

通过nginx进行wss和ws协议转换(ftp文件传输协议对应于osi的)

xnh888 2024-09-08 11:00:34 技术教程 34 ℃ 0 评论

项目场景:

一个im项目在测试准备上线的时候,发现微信小程序在正式阶段只支持wss协议


问题描述:

提示:发现微信小程序在正式阶段只支持wss协议,由于通信采用https,所以ws协议无法直接使用,测试开发阶段可以采用ws协议进行


原因分析:

原因在于https和http不能混合使用,wss和ws也是对应的,https下无法使用http和ws协议


解决方案:

于是想到采用nginx代理的方式进行协议转换,解决通信问题,这样既不用修改服务端代码,也不需要修改客户端代码,一举多得。


话不多说,上nginx配置:

server {

listen 443 ssl;

server_name localhost;


ssl_certificate cert.pem;

ssl_certificate_key private.key;

ssl_session_timeout 1m;

ssl_protocols SSLv2 SSLv3 TLSv1.2;

ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256:AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;

ssl_prefer_server_ciphers on;


default_type 'text/html';

charset 'utf-8';


location / {

proxy_pass http://127.0.0.1:8008/;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "Upgrade";

proxy_set_header Remote_addr $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_read_timeout 600s;

}


}

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表