微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Socket.io无法在netlifyhttps上建立通信

如何解决Socket.io无法在netlifyhttps上建立通信

我在nodejs中开发了一个本地服务器(目的是使它甚至在本地计算机上,而不是在线服务器上),并在netlify上提供一个客户端应用程序(反应)。 由于服务器通过socket.io支持http,因此客户端无法建立通信,因为netlify页面支持https。 错误消息如下:

混合内容:“”页面已通过HTTPS加载,但 请求了不安全的XMLHttpRequest端点“”。这个请求 已被阻止;内容必须通过HTTPS提供。

有什么可以做的吗?

在这里摘录了服务器和客户端代码

NODEJS服务器:

const http = require("http");
const socketIo = require("socket.io");

const {
    SERVER_HOST = "xxx.xxx.x.xxx",SERVER_PORT = 8000
} = process.env;

const server = http.createServer((req,res) => {
      res.end("SERVER IS ALIVE");
})

const serverIO = socketIo(server);

server.listen(SERVER_PORT,SERVER_HOST,() => {
    console.log(`[SERVER] Running at ${SERVER_HOST}:${SERVER_PORT}`);
})

客户端(REACTJS):

import React from 'react';
import io from 'socket.io-client';

const App = () => {
  const ENDPOINT = "http://xxx.xxx.x.xxx:8000";
  const socket = io(ENDPOINT);
   .......

我了解通过错误消息,我也应该将本地服务器传递给HTTPS,但我不知道该怎么办,以及是否有必要。

我非常感谢您的帮助。谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。