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

  • 相关阅读:
    sqlserver 时间格式函数详细
    asp.net中session的原理及应用
    asp.net中的cookie
    WCF 应用(一)
    c#操作word文档之简历导出
    浅解多线程
    .net反射详解
    正则表达式、常用的匹配总结
    存储过程详解
    jquery.pagination.js分页
  • 原文地址:https://www.cnblogs.com/mao2080/p/7772893.html
Copyright © 2011-2022 走看看