최근에 내 서버에 SSL 인증서를 설치하려고했습니다. 인증서 파일 (privkey.pem, fullchain.pem)은 응용 프로그램의 루트 디렉토리에 있습니다. 다음 코드를 실행할 때 :자바 스크립트 http 서버 : ERR_CONNECTION_REFUSED
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에 대한 지원을 추가 한 후에 만 작동이 중단되었습니다. –
로그를 볼 수 있습니까? –