У меня есть следующий код, который успешно устанавливает конечную точку http и https с помощью узла & restify.
import * as fs from 'fs';
import * as restify from 'restify';
import { settings } from './config/config';
import { Logger } from './services/Logger';
import corsMiddleware = require('restify-cors-middleware');
var compression = require('compression');
var helmet = require('helmet');
var httpOptions = { name: settings.name, key: fs.readFileSync('./Certificate/key.pem'), certificate: fs.readFileSync('./Certificate/cert.pem') }
export let httpServer = restify.createServer({ name: settings.name });
export let httpsServer = restify.createServer(httpOptions);
// Bunch of configuration done here removed ...
httpServer.listen(settings.httpPort, function () {
Logger.info(`INFO: ${httpServer.name} is running at ${httpServer.url}`);
});
httpsServer.listen(settings.httpsPort, function () {
Logger.info(`INFO: ${httpsServer.name} is running at ${httpsServer.url}`);
});
Когда это запускается, я получаю следующий вывод:
ИНФОРМАЦИЯ: служба отслеживания работает на http://[::]:8082
ИНФОРМАЦИЯ: Служба отслеживания работает на https://[::]:8443
И я могу успешно подключиться через http и https. Теперь я хочу перейти на использование pfx вместо этого, и поэтому попробовал этот код
import * as fs from 'fs';
import * as restify from 'restify';
import { settings } from './config/config';
import { Logger } from './services/Logger';
import corsMiddleware = require('restify-cors-middleware');
var compression = require('compression');
var helmet = require('helmet');
var httpOptions = { name: settings.name, httpsServerOptions: { pfx: fs.readFileSync('./Certificate/systema.pfx'), passphrase: 'passphrase' } }
// Also tried this to no avail
//var httpOptions = { name: settings.name, pfx: fs.readFileSync('./Certificate/systema.pfx'), passphrase: 'passphrase' }
export let httpServer = restify.createServer({ name: settings.name });
export let httpsServer = restify.createServer(httpOptions);
// Bunch of configuration done here removed ...
httpServer.listen(settings.httpPort, function () {
Logger.info(`INFO: ${httpServer.name} is running at ${httpServer.url}`);
});
httpsServer.listen(settings.httpsPort, function () {
Logger.info(`INFO: ${httpsServer.name} is running at ${httpsServer.url}`);
});
Но это генерирует вывод
ИНФОРМАЦИЯ: Служба отслеживания работает на http://[::]:8082
ИНФОРМАЦИЯ: Служба отслеживания работает на http://[::]:8443
Обратите внимание на http: // во второй строке.
Есть идеи о том, что я могу сделать, чтобы опция pfx работала?