Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js/Https与express_Javascript_Node.js_Express_Https - Fatal编程技术网

Javascript node.js/Https与express

Javascript node.js/Https与express,javascript,node.js,express,https,Javascript,Node.js,Express,Https,我尝试将node.js中的express与https一起使用 以下是本部分的相关代码: 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',

我尝试将node.js中的express与https一起使用

以下是本部分的相关代码:

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);
});

我做错了什么?

您必须指定https://,否则浏览器/客户端在连接时将不知道使用SSL,无论使用的端口是默认端口443还是其他端口。

您可以提供更多信息吗?您是否通过本地主机连接?如果不允许,您的防火墙/安全软件是否允许5008上的传入流量?它根本没有连接,或者您收到了HTTP响应吗?@mscdex:端口已打开,我没有通过localhost连接其他计算机调用我的服务器。。。我添加了一个对我来说可以正常工作的代码,但是使用了ssl部分。谢谢。测试时,您在地址前面添加了https://以便https://example.org:5008?@mscdex:不,https是用于端口443的,不是吗?我通过以下方式进行检查:http://example.org:5008Thanks,当我使用https://example.org 它给了我以下错误:javax.net.ssl.SSLHandshakeException:在我的Java客户端中握手时远程主机关闭连接否,我更改了它,现在我的服务器侦听443。它仍然给我这个错误。它给我以下信息:*即将连接到端口443 0*正在尝试。。。已连接…*SSL连接错误旋度:35 SSL连接错误