Возникло много проблем при попытке запустить сервер Express. JS, который поддерживает запросы HTTPS.
Вот код, который я написал до сих пор:
import express from 'express';
import fs from 'fs';
import https from 'https';
const app = express();
const port = 3000;
const options = {
cert: fs.readFileSync('server.crt', 'UTF-8'),
key: fs.readFileSync('server.key', 'UTF-8'),
};
app.get('/', (request, response) => response.send('Success!'));
https.createServer(options, app).listen(port, () => console.log(`Listening on port ${port}`));
Я создал учетные данные SSL с использованием OpenSSL в macOS следующим образом:
openssl req -nodes -new -x509 -out server.crt -keyout server.key
Я также попробовал несколько других аргументов, включая увеличение прочности ключа до 2048 бит, но ничего не помогло. Я совершенно уверен, что OpenSSL здесь не проблема. Запросы на https://localhost:3000/
не выполнены. Я сделал запросы через Google Chrome, Node.JS через модуль request
, а также cURL.
Chrome Ошибка: NET::ERR_CERT_INVALID
Node.JS ошибка: Error: connect ETIMEDOUT 172.0.0.1:3000
ошибка cURL: curl: (7) Failed to connect to 172.0.0.1 port 3000: Operation timed out
Я исчерпал поиск в Google, поэтому любая помощь будет принята с благодарностью. Спасибо.