• Nginx+SignalR+Redis(二)windows


    接上篇:此篇主要讲解signalr使用nginx后遇到的问题。

    首先发布signalr服务端多个站点,为了简单只发布了两个站点类似:一个服务端端口8090一个8091

    然后配置Nginx具体安装下载就不一一介绍,可以自行百度安装。现在只介绍配置nginx.config中的项,因为在此遇到了许多坑

    先将ngixn.con中的代码贴出来。


    events {
    worker_connections 1024;
    }


    http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;

    map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
    }
    upstream signalr{
    ip_hash;
    server localhost:8090;
    server localhost:8091;
    }

    server {
    listen 8081;
    server_name localhost;

    location / {
    charset utf-8;
    proxy_http_version 1.1;
    proxy_pass http://signalr;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_read_timeout 3600s;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    }
    }
    }

     是不是很简单,但是踩了许多坑。

    坑一,congnectionId:后面乱码的问题。需要在nginx中的locahost中添加编码格式charset utf-8;

    坑二,POST请求了,返回400400的意是思请求异常。肯定是这个配置有问题额。

    不要讲nginx中的proxy_set_header Connection "upgrade";写死。使用配置

    map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
    }和proxy_set_header Connection $connection_upgrade;解决即可

    重要代码

    proxy_http_version 1.1;

    proxy_set_header Upgrade $http_upgrade;

    proxy_set_header Connection $connection_upgrade;

    具体配置不一一介绍,百度即可。

    坑三,无效的connectionid是因为nginx反向代理将回话分发到另一个端口上的原因,使用SignalR时,要进行会话保持,请求要一直落到同一台服务器上。

    因此nginx中要配置回话保持因此使用的是ip_hash 

    当然还有许多其他的方案。

    作者太难了给作者点辛苦费吧

  • 相关阅读:
    用Maven插件生成Mybatis代码
    年薪50万的大数据分析师养成记
    利用 index、explain和profile优化mysql数据库查询小结
    perl MQSeries::Queue sync方法
    新零售不简单,当初马云自己都没解释清楚!
    新零售不简单,当初马云自己都没解释清楚!
    elasticsearch 默认不支持检索hadoop
    以不能久驻世上的心态处理日常事务——北漂18年(89)
    数据化管理在餐饮业中的应用
    解决Linux出现"Device eth0 does not seem to be present"问题
  • 原文地址:https://www.cnblogs.com/chuizilong/p/10347324.html
Copyright © 2020-2023  润新知