gpt4 book ai didi

node.js - nodejs + https + express - 错误 324 (net::ERR_EMPTY_RESPONSE)

转载 作者:搜寻专家 更新时间:2023-11-01 00:02:49 25 4
gpt4 key购买 nike

我有一个结构如下的 nodejs 服务器:(app.js):

var fs = require('fs'),
http = require('http'),
https = require('https'),
express = require('express'),
connect = require('express/node_modules/connect'),
app = module.exports = express();

var ssl_options = {
key: fs.readFileSync('/etc/nginx/ssl/server.key'),
cert: fs.readFileSync('/etc/nginx/ssl/server.crt')
};

var server = https.createServer(ssl_options, app);

// EXPRESS

// app.set('view options', { layout: false });

var auth_token = "asdfasfdasdfasdf";
var express_session_id = "express.sid";

app.configure(function () {
app.use(express.cookieParser());
app.use(express.session({secret: auth_token, key: express_session_id}));

app.set("view options", {layout: false});
});

app.get('/', function (req, res) {
console.log (req.headers);
fs.readFile(__dirname + '/index.html', function(err, data){
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data, 'utf8');
res.end();
});
});

app.listen = function(port) {
server.listen(port);
console_log.log('info', "COTTONMOUTH server listening on port " + port);
};

我有一个运行上述 app.js 的 cluster.js:

var cluster = require('cluster'),
os = require('os'),
workers = {};

if (cluster.isMaster) {

cluster.on('exit', function(worker, code, signal) {
if (worker.suicide === false) {
var exitCode = worker.process.exitCode;
console.error('worker ' + worker.process.pid + ' died ('+exitCode+'). restarting...');
cluster.fork();
}
});

var n = process.env.PROC || os.cpus().length;
for(var i = 0; i < n; i++ ) {
cluster.fork();
}

process.on('SIGTERM', function() {
console.log('[MASTER] Going for shutdown...');
for (var id in cluster.workers) {
console.log('\tkilling worker: ' + cluster.workers[id].process.pid);
cluster.workers[id].destroy();
}
console.log("[MASTER] Here's looking at you, kid.");
});

} else {
require('./app').listen(process.env.PORT || 3456);
}

我的问题是以下设置在我的 localhost virtual box 环境(在 mac 主机上运行的 ubuntu 虚拟机)上运行良好。我可以使用 dev.domain.com:3456 访问 nodejs 服务器。

但是,当我将它移动到我的生产机架空间服务器(相同的环境配置和设置),并尝试通过 prod.domain.com:3456 访问它时

浏览器挂起并返回 错误 324 (net::ERR_EMPTY_RESPONSE):服务器关闭连接但未发送任何数据。

我做了一些研究并找到了一些线索,但帮助不大。

有什么想法吗?

更新:

当我将端口降低到 90 时,它似乎起作用了,这很有趣。我暂时将它留在端口 90,但如果有人知道这是为什么。

谢谢

最佳答案

当我的请求变得太大 (>65K) 时,我收到了这条错误消息。我的解决方案是将数据缩减为几个片段。

关于node.js - nodejs + https + express - 错误 324 (net::ERR_EMPTY_RESPONSE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15917079/

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