首页 > 解决方案 > reactjs socket.io-client ERR_CERT_AUTHORITY_INVALID

问题描述

我正在尝试连接到 tls websocket,但我得到了websocket.js:120 WebSocket connection to ' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID

这是我正在尝试使用的代码

import SocketIOClient from "socket.io-client";
import * as types from "../constants/sockets";

const URL = "SERVER";

export function missingSocketConnection() {
  return {
    type: types.SOCKETS_CONNECTION_MISSING,
    payload: new Error("Missing connection!"),
  };
}

let socket = null;

export function socketsConnect() {
  return (dispatch, getState) => {
    const state = getState();
    const { isFetching } = state.services;
    const { token } = state.auth;

    if (isFetching.sockets) {
      return Promise.resolve();
    }

    dispatch({
      type: types.SOCKETS_CONNECTION_REQUEST,
    });

    socket = SocketIOClient(URL, {
      reconnection: false,
      path: "/",
      transports: ["websocket"],
      query: { token },
      rejectUnauthorized: false,
      secure: false,
      upgrade: false,
    });

    socket.on("connect", () => {
      dispatch({
        type: types.SOCKETS_CONNECTION_SUCCESS,
      });
    });

    socket.on("error", (error) => {
      dispatch({
        type: types.SOCKETS_CONNECTION_FAILURE,
        payload: new Error(`Connection: ${error}`),
      });
    });

    socket.on("connect_error", () => {
      dispatch({
        type: types.SOCKETS_CONNECTION_FAILURE,
        payload: new Error("We have lost a connection :("),
      });
    });

    return Promise.resolve();
  };
}

我尝试通过提供证书import crt from "path/to/crt"但没有工作也尝试将选项调整到secure: true 同一服务器允许连接而不使用证书使用 C# 和Websocket-Sharp

标签: reactjswebsocketsocket.io

解决方案


推荐阅读