nginx反向代理signalr


asp.net core应用常常要通过nginx来反向代理, 普通的web api配置asp.net core反向代理比较常见, 如果在应用中集成了signalr, 如何使用nginx来反代呢?

nginx配置

我用的nginx的版本: nginx/1.16.1

 location /posthub {
        proxy_pass         http://;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection upgrade;
        proxy_http_version 1.1;
    }

上面单独为signalr监听的路径 /posthub 做了配置, 在我看来这是必要的...

关键配置

proxy_set_header Connection upgrade;

注意

要对signalr路由进行单独的配置, 因为signalr需要长连接, 而其他请求未必需要.