簡體   English   中英

Javascript HTTP服務器:ERR_CONNECTION_REFUSED

[英]Javascript http server: ERR_CONNECTION_REFUSED

我最近嘗試將SSL證書安裝到服務器上。 證書文件(privkey.pem,fullchain.pem)位於應用程序的根目錄中。 當我運行以下代碼時:

var express = require('express');
var app = express();
var helmet = require('helmet');
var db = require('./server/database.js');
var fs = require('fs');
var ssl = require('ssl-root-cas');

'use strict';
var rootCas = require('ssl-root-cas/latest').create();

// default for all https requests
// (whether using https directly, request, or another module)
require('https').globalAgent.options.ca = rootCas;

app.use(helmet()); 

var options = {
    key : fs.readFileSync('privkey.pem', 'ascii'),
    cert : fs.readFileSync('fullchain.pem', 'ascii')
}

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/public/index.html');
});
app.use('/public', express.static(__dirname + '/public'));

var serv = require('https').createServer(options, app);

服務器運行無誤。 我添加的“服務器正在偵聽端口80”確認顯示,並且證書似乎不會引起任何直接問題。 但是,當我嘗試連接到域時(使用https://),Chrome會返回ERR_CONNECTION_REFUSED。 通過http連接到域時,Chrome會以相同的消息響應。 我正在使用稍后在代碼中初始化的SocketIO,但在我的問題和SocketIO的功能之間沒有發現任何聯系。 是什么導致無法連接?

https請求是通過端口443(而不是80)發送的。以下代碼可以正常工作:

var express = require('express');
var app = express();
var helmet = require('helmet');
var db = require('./server/database.js');
var fs = require('fs');
var ssl = require('ssl-root-cas');

'use strict';
var rootCas = require('ssl-root-cas/latest').create();

// default for all https requests
// (whether using https directly, request, or another module)
require('https').globalAgent.options.ca = rootCas;

app.use(helmet()); 

var options = {
    key : fs.readFileSync('privkey.pem', 'ascii'),
    cert : fs.readFileSync('fullchain.pem', 'ascii')
}

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/public/index.html');
});
app.use('/public', express.static(__dirname + '/public'));

var serv = require('https').createServer(options, app);
//var serv = require('https').Server(app); //DEBUG ONLY

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM