首页 > 解决方案 > Firebase 托管 + 自定义服务器不兼容?

问题描述

我的 expressjs+Socket.io 服务器在 Raspberry Pi 上运行。尝试连接 express 时,存在 Firebase 似乎不喜欢的 http+https 不兼容问题。告诉我改用 Https。使用 Https 时,我收到证书错误。所以我去我的域提供商那里给自己买了一个全新的 SSL 证书......在我的本地机器上,我不小心安装了证书,一切正常,但是在我的笔记本电脑或手机上,当我访问网站时说“(净::ERR_CERT_COMMON_NAME_INVALID)”。我不知道该怎么做,因为网上的许多资源只介绍了如何在他们的机器上绕过这个问题,而没有为每个人解决这个问题。

服务器.js

var app = require("express")();
var https = require("https");
var fs = require("fs");

var server = https.createServer(
  {
    key: fs.readFileSync('./sslkey.key'),
    cert: fs.readFileSync('./sslcert.crt'),
    ca: fs.readFileSync('./sslca.ca-bundle'),
  },
  app
);
var io = require("socket.io")(server);
io.on("connection", function(socket) {
  console.log("User connected");
})
server.listen(4444, function() {
  console.log("listening on *:4444");
});

我还将 Socket.io 与 Angular 一起使用,但我找不到禁用“rejectUnauthorized”的方法,因为许多人建议跳过 SSL 检查。

有什么帮助吗?

标签: node.jsfirebaseexpresssocket.iofirebase-hosting

解决方案


推荐阅读