• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

使用nginx做WSS转为WS

武飞扬头像
一遇一余
帮助1

HTTPS 是一种加密文本的超链接,所以需要证书,证书可以 使用域名,在腾讯云等服务商申请 https 证书,证书有 收费的和免费的,免费的有使用期限。

利用域名申请证书后,一般会有4中证书文件,

.csr  .key  .crt .pem , 正常NG用 .key 和 .pem就行,放入nginx 目录 conf/ 目录下的ssl/ 目录里。

学新通

 nginx.conf 的配置  

  1.  
    server {
  2.  
    listen 443 ssl;
  3.  
    ssl_certificate D:/phpstudy_pro/Extensions/Nginx1.15.11/conf/ssl/sdsfbtest.h5sdk.com_bundle.pem;
  4.  
    ssl_certificate_key D:/phpstudy_pro/Extensions/Nginx1.15.11/conf/ssl/sdsfbtest.h5sdk.com.key;
  5.  
    ssl_session_timeout 5m;
  6.  
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  7.  
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  8.  
    ssl_prefer_server_ciphers on;
  9.  
     
  10.  
    server_name sdsfbtest.h5sdk.com;
  11.  
    location /wss/ {
  12.  
    proxy_pass http://10.8.6.23:9502/; #通过配置端口指向部署websocker的项目
  13.  
    proxy_http_version 1.1;
  14.  
    proxy_set_header Upgrade $http_upgrade;
  15.  
    proxy_set_header Connection "Upgrade";
  16.  
    proxy_set_header X-real-ip $remote_addr;
  17.  
    proxy_set_header X-Forwarded-For $remote_addr;
  18.  
    }
  19.  
    }
学新通

默认https 端口 443 , http 端口默认 是80

ssl_certificate :.pem 的路径

ssl_certificate_key : .key 的路径

server_name : 域名

proxy_pass http://10.8.6.23:9502/; 指向 要跳转的地址

---

如果要让默认http跳转到https,可以增加个 80端口的配置

  1.  
    server {
  2.  
    listen 80;
  3.  
    server_name www.my.local;
  4.  
    root "D:/phpstudy_pro/WWW/www.my.local";
  5.  
    location / {
  6.  
    include D:/phpstudy_pro/WWW/www.my.local/nginx.htaccess;
  7.  
    autoindex off;
  8.  
    }
  9.  
    location ~ \.php(.*)$ {
  10.  
    fastcgi_pass 127.0.0.1:9000;
  11.  
    fastcgi_index index.php;
  12.  
    fastcgi_split_path_info ^((?U). \.php)(/?. )$;
  13.  
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  14.  
    fastcgi_param PATH_INFO $fastcgi_path_info;
  15.  
    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
  16.  
    include fastcgi_params;
  17.  
    }
  18.  
    rewrite ^(.*)$ https://$host$1 permanent; # 加https跳转
  19.  
    }
学新通

配置好后,重启nginx

--------------------------------------------------------

下面是WebSocket访问

使用debug -> Console

复制进去访问

  1.  
    var wsServer = 'wss://sdsfbtest.h5sdk.com/wss/';
  2.  
    var websocket = new WebSocket(wsServer);
  3.  
    websocket.onopen = function (evt) {
  4.  
    console.log("Connected to WebSocket server.");
  5.  
    };
  6.  
     
  7.  
    websocket.onclose = function (evt) {
  8.  
    console.log("Disconnected");
  9.  
    };
  10.  
     
  11.  
    websocket.onmessage = function (evt) {
  12.  
    console.log('Retrieved data from server: ' evt.data);
  13.  
    };
  14.  
     
  15.  
    websocket.onerror = function (evt, e) {
  16.  
    console.log('Error occured: ' evt.data);
  17.  
    };
学新通

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfijgeg
系列文章
更多 icon
同类精品
更多 icon
继续加载