zoukankan      html  css  js  c++  java
  • WebSocket 结合 Nginx 实现域名及 WSS 协议访问-Nginx配置

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/

    1、基本配置

     1      upstream mqttServer {
     2         server mqttserverip1:8882 weight=1;
     3         server mqttserverip1:8882 weight=1;
     4         #check interval=3000 rise=2 fall=5 timeout=1000;
     5     }
     6     
     7     server {
     8         listen       443 ssl;
     9         server_name  localhost;
    10         ssl on; //如果是Linux版本nginx需要配置此项,Windows版本nginx不需要配置
    11         ssl_certificate      E:/project/nginx-1.13.6/certfile/pc.crt;
    12         ssl_certificate_key  E:/project/nginx-1.13.6/certfile/pc.key;
    13         ssl_session_cache    shared:SSL:1m;
    14         ssl_session_timeout  5m;
    15         ssl_ciphers  HIGH:!aNULL:!MD5;
    16         ssl_prefer_server_ciphers  on;
    17         location /mqtt {
    18             proxy_pass http://mqttServer;
    19             proxy_http_version 1.1;
    20             proxy_set_header Upgrade $http_upgrade;
    21             proxy_set_header Connection "upgrade";
    22         }
    23     }

    2、为什么需要用wss?

    Websocket使用 ws 或 wss 的统一资源标志符,类似于 HTTP 或 HTTPS,其中 wss 表示在 TLS 之上的 Websocket ,相当于 HTTPS 了。如:

    ws://example.com/chat
    wss://example.com/chat

    默认情况下,Websocket 的 ws 协议使用 80 端口;运行在TLS之上时,wss 协议默认使用 443 端口。其实说白了,wss 就是 ws 基于 SSL 的安全传输,与 HTTPS 一样样的道理。

    如果你的网站是 HTTPS 协议的,那你就不能使用 ws:// 了,浏览器会 block 掉连接,和 HTTPS 下不允许 HTTP 请求一样。

    3、注意事项

    需要做好CA证书,证书需要写入指定的域名,不然会有问题。

    4、参考网站

    http://www.cnblogs.com/mafly/p/websocket.html

  • 相关阅读:
    [算法][递归] 整数划分 种类数
    [C++] 行程编码C++代码
    Integer IntegerCache源码
    mysql中函数greatest 与MAX区别
    mysql least函数
    easyui icon的使用相关
    jQueryEasyUI Messager基本使用
    EasyUI 修改 Messager 消息框大小
    静态代理和动态代理的区别
    table合并单元格colspan和rowspan
  • 原文地址:https://www.cnblogs.com/mao2080/p/7772893.html
Copyright © 2011-2022 走看看