nodejs版本v6.11.5
通过Express托管时,网站会加载,即
app.listen(port, function () {
console.log("The Server Has Started!");
});
但是,当通过https托管时,我收到 ERR_CONNECTION_REFUSED 错误。对于使用https进行托管,我正在使用
var options = {
ca: fs.readFileSync(__dirname+'/keys/sitname.ca-bundle'),
key: fs.readFileSync(__dirname + '/keys/sitname.key'),
cert: fs.readFileSync(__dirname + '/keys/sitname.crt'),
};
var app = express();
.... the app .....
https.createServer(options, app).listen(port, function(){
console.log("server started at port "+port);
});
端口设置为80 ,ufw规则如下
To Action From
-- ------ ----
22 LIMIT Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
22 (v6) LIMIT Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
任何回应都会非常明显。
答案 0 :(得分:2)
对于https,您必须将端口设置为443,因为https默认使用此端口。另一个选择是,您在发送请求时定义要将端口80用于https:my-domain.com:80。但我不确定这是否有效。
答案 1 :(得分:0)
来自@ floriangosse的评论,
HTTPS默认使用端口443,因此使用端口80进行HTTPS会提供 ERR_CONNECTION_REFUSED 。
切换到443端口。