nginx中配置websocket的wss代理

server {

        listen 443 ssl;

        server_name localhost;

        ssl on;

        root html;

        index index.html index.htm;

        ssl_certificate  ******.pem;

        ssl_certificate_key  *******.key;

        ssl_session_timeout 5m;

        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        ssl_prefer_server_ciphers on;

        location /{

            proxy_pass  http://localhost:3001;       

         }

    #  关键点

     location /ws {

          proxy_pass http://localhost:8181;            proxy_read_timeout 60s;

          proxy_http_version 1.1;

          proxy_set_header Upgrade $http_upgrade;

          proxy_set_header Connection 'Upgrade';

        }   

    }

原理解析:

WebSocket协议的握手和HTTP是兼容的,它使用HTTP的Upgrade协议头将连接从HTTP连接升级到WebSocket连接。这个特性使得WebSocket应用程序可以很容易地应用到现有的基础设施

就可以使用https//+域名访问和使用wss://+域名+/ws访问了


原文地址:nginx 配置https和wss

参考链接:分享下nginx配置HTTPS WSS

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、内容概览 WebSocket的出现,使得浏览器具备了实时双向通信的能力。本文由浅入深,介绍了WebSocket...
    Calvin李阅读 2,548评论 2 10
  • Nginx简介 解决基于进程模型产生的C10K问题,请求时即使无状态连接如web服务都无法达到并发响应量级一万的现...
    魏镇坪阅读 2,114评论 0 9
  • 是否遇到过某些事情做一半就放弃了?还记得当时的原因吗? #崩盘原因 刻意训练 - 犯错/出现问题 - 发现问题 -...
    崔云峰阅读 132评论 0 0
  • 前不久班上举办同学会,还说要在外面过夜。我犹豫着怎么和老公说,人们总说,同学会拆散一对是一对,况且在学生时代,不管...
    奇加蕾阅读 995评论 0 1
  • 引言:本文主要介绍了iOS私有库的三种管理方式。在多产品线的情况下,包括业务层、自定义的控件、自定义的工具类,如日...
    Uncle_fs阅读 1,326评论 0 3