Nginx Provisional headers are shown

我有个应用程序里面使用到了WebSocket,当我没有使用Nginx时可以正常访问,但是当挂在Nginx上时就出现异常的情况,而且刷新多次中可能偶尔正常偶尔异常,并不是一直都是异常的,但大部分时候是异常的,我发现浏览器提示请求头上有这个警告:Provisional headers are shown,同时控制台输出如下错误:blazor.server.js:1 WebSocket connection to 'wss://*:11111/_blazor?id=y8GYKs3vWJN11zS7p5WBag' failed: Error during WebSocket handshake: Unexpected response code: 404。这种错误状况是偶尔的,所以不知道怎么开始排查。Nginx上需要配置的WebSocket相关的配置如下:

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

proxy_set_header Host $host;


求助各位大神,是否有遇到这种情况?

邀请回答
提问于 2021-03-25 15:38
74 次浏览
共1个回答

发表评论
  • 陶辉
    2021-03-25 18:04

    抓包对比下,包括:

    1、不使用Nginx时,抓包看下Websocket的握手,包括在浏览器和Nginx上游服务上;

    2、使用Nginx时,抓包看下Nginx上游服务。

    从你的错误请求来看,貌似url的匹配出问题了,正常应该是返回101,但你返回 了404

    1
    回复
    举报
    • $(陈兴)$ 2021-03-26 10:03

      首先感谢这位大佬的回答,这里主要让我不理解的是为什么会有偶尔可以成功的这种奇怪的现象,如果是URL匹配不对等比较硬性的问题,应该不会有偶尔可以成功的这种现象才对。我试着抓包对比一下,谢谢。

      1
      回复
      举报
提问者

$(陈兴)$

暂无个人介绍

  • 0

    文章

  • 0

    粉丝

  • 0

    被赞

$(陈兴)$
按Enter键发送
您已邀请位用户
版权所有©F5 Networks,Inc.保留所有权利。京ICP备16013763号-5