【问题标题】:WebSocket connection to website failed: Error during WebSocket handshake: Unexpected response code: 200WebSocket 连接到网站失败:WebSocket 握手期间出错:意外响应代码:200
【发布时间】:2017-08-26 00:44:22
【问题描述】:

我刚刚向 Firebase 部署了一个快速测试(使用 reactJS 的简单“Hello world”)。 (我刚刚创建了一个新的 Firebase 项目并部署了我的代码,因此我没有在 Firebase 仪表板中配置任何内容。)在浏览器控制台中,我看到了一些由于 webSocket 引起的错误。有人可以通过告诉我如何检查这些请求来自何处来帮助我吗?

这是我的控制台屏幕,显示错误。

还有请求。他们

网址:https://test-1d6f7.firebaseapp.com/

编辑:代码

脚本.js

import {render} from 'react-dom';
import router from './router/';

const init = () => {
  render(
    router,
    document.querySelector(`.react-app`)
  );
};

init();

路由器/index.js

import React from 'react';
import {render} from 'react-dom';
import {BrowserRouter, Router, Route, Switch} from 'react-router-dom';
import {App} from './../containers/';

export default (
  <BrowserRouter >
    <App>
      <Switch>
        <Route exact path="/" component={Home} />
      </Switch>
    </App>
  </BrowserRouter>
);

App.jsx

import React, {Component} from 'react';

class App extends Component {
  constructor(props) {
    super(props);
  }

  render() {
    return (
      <main>
        {this.props.children}
      </main>
    )
  }
}

export default App;

Home.jsx

import React, {Component} from 'react';

class Home extends Component {
  constructor(props) {
    super(props);
  }

  render() {
    return (
      <h1>Hello World</h1>
    )
  }
}

export default Home;

【问题讨论】:

  • 当用户访问您的网站时,Firebase 托管中的任何内容都不会自动连接 Web 套接字。 URL 模式看起来也不像是来自 Firebase 数据库客户端。在您的情况下,我不确定连接来自何处。
  • 刚刚检查了 Firebase 托管,但一无所获。有什么建议我接下来可以做什么?

标签: firebase websocket firebase-hosting


【解决方案1】:

[更新]我发现问题是我添加的时候开始的

"rewrites": [{"source": "**", "destination": "/index.html"}]

到我的 firebase.json 文件。

我正在使用这条线来访问我网站上的特定网址,而不会收到 404。(see this post)

【讨论】:

    【解决方案2】:

    错误是连接到:

    'wss://test-1d6f7.firebaseapp.com/sockjs-node/525/zl4etbam/websocket'

    您可能正在尝试使用 Firebase 数据库,在这种情况下您输入了错误的 URL。它应该是https://test-1d6f7.firebaseio.com(注意firebaseio 而不是firebaseapp)。

    【讨论】:

    • 您的应用程序中的某些东西正试图打开一个到/test-1d6f7.firebaseapp.com 的套接字。这不是一个有效的连接,因为 Firebase 托管不会像这样接受传入的 websocket 连接。在没有看到minimal code that reproduces the problem 的情况下,以上是我对原因的最佳猜测。
    猜你喜欢
    • 2021-01-29
    • 1970-01-01
    • 2019-09-01
    • 2018-03-20
    • 2018-06-04
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多