【发布时间】:2014-11-04 13:36:11
【问题描述】:
我尝试在node.js 和https 中使用express。
这里是这部分的相关代码:
var express = require("express");
var app = express();
var https = require('https');
var privateKey = fs.readFileSync('./sslcert/mykey.key', 'utf8');
var certificate = fs.readFileSync('./sslcert/mssl.crt', 'utf8');
var credentials = {key: privateKey, cert: certificate};
https.createServer(credentials, app).listen(5008, function(res){
console.log("Listen to: " + port)
});
在控制台中,它打印 Listen to: 5008,但我没有看到我的服务器收到任何请求,即使我发送了一些请求。
当我使用没有 ssl 扩展的 express 时,一切正常。
编辑:
这里的代码适用于端口 5008,但没有 ssl 部分:
var express = require("express");
var app = express();
app.listen(5008, function () {
console.log("Listening on " + port);
});
我做错了什么?
【问题讨论】:
-
您能提供更多信息吗?你是通过 localhost 连接的吗?如果没有,您是否允许防火墙/安全软件中 5008 上的传入流量?它根本没有连接,还是您收到 HTTP 响应?
-
@mscdex: 端口是开放的,我没有通过 localhost 连接(其他机器调用我的服务器..)。我添加了一个对我来说可以的代码,但带有 ssl 部分。谢谢。
-
并且您在测试时在地址前添加
https://,所以它是https://example.org:5008? -
@mscdex:不,https 用于端口 443,不是吗?我检查它:
http://example.org:5008
标签: javascript node.js express https