gpt4 book ai didi

html - 切换到 HTTPS 后无法连接到服务器

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:33 26 4
gpt4 key购买 nike

所以我切换到 HTTPS,除了套接字之外一切都运行良好。

如果我尝试使用 HTTP 访问网站,套接字会连接,但如果我尝试使用 HTTPS 连接,我会得到:

控制台错误:

Failed to load resource: net::ERR_CONNECTION_CLOSED
Failed to load resource: net::ERR_CONNECTION_CLOSED
Failed to load resource: net::ERR_CONNECTION_CLOSED
Failed to load resource: net::ERR_CONNECTION_CLOSED

前端:

function connect()
{
if (!SOCKET)
{
var hash = getCookie('hash');
if (hash == "") {
//$.notify('You must login!', 'success');
}
if (hash != "") {
$.notify('Connecting...', 'success');
}
SOCKET = io(':3001');
SOCKET.on('connect', function(msg) {
if (hash != "") {
//$.notify('Connected!', 'success');
}
SOCKET.emit('hash', {
hash: hash
});
$('#games tr').remove();
});
SOCKET.on('connect_error', function(msg) {
$.notify('Connection lost!', 'success');
});
SOCKET.on('message', function(msg) {
onMessage(msg);
});

SOCKET.on('disconnect', function(m) {
SOCKET.emit('disconnect', {
uhash: hash
});
});
}
else
{
console.log("Error: connection already exists.");
}
}

Node.js/后端

var httpsOptions = {
cert: fs.readFileSync("/path/to/cert/cert.pem"),
ca: fs.readFileSync("/path/to/cert/chain.pem"),
key: fs.readFileSync("/path/to/cert/privkey.pem"),
}

var server = require('https').createServer(httpsOptions);
var io = require('socket.io').listen(server);
server.listen(3001);

最佳答案

您的 Node 应用程序应该只接受 HTTP 连接。您的 Apache 服务器应该负责 HTTPS。这简化了您的应用程序,并允许 Apache 为您进行负载平衡(如果您决定这样做)。

因此,您的应用程序和 Apache 之间应该使用 HTTP,然后 Apache 和客户端之间应该使用 HTTPS。有很多关于如何执行此操作的指南,我建议阅读 official documentation

如果您决定反对这一点,并在网络应用级别实现 SSL(不推荐),那么我们将需要更多信息。

关于html - 切换到 HTTPS 后无法连接到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45122485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com