Я использую очень простой серверный скрипт
const https = require('https');
const fs = require('fs');
var options = options = {
key: fs.readFileSync(__dirname+'/certs/private_key.pem'),
cert: fs.readFileSync(__dirname+'/certs/my_cert.crt'),
ca: fs.readFileSync(__dirname+'/certs/my_bundle.ca-bundle'),
}
https.createServer(options, (req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(3000,'example.com');
Этот пример взят из https://helpdesk.ssls.com/hc/en-us/articles/115001603071-How-to-install-a-certificate-on-Node-js.
Мой .htaccess выглядит так
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com:3000/$1 [L,P,QSA]
Цель - перенаправить весь трафик на сервер с использованием HTTPS.Когда я выполняю команду
node server.js
Нет ошибок, и сервер прослушивает.Когда я пытаюсь подключиться через браузер, используя
https://example.com
, я получаю внутреннюю ошибку сервера и не могу понять, в чем проблема, потому что я не могу понять, как получить какие-либо журналы из node.js.
Если я настрою сервер на прослушивание по обычному HTTP и установлю правило перезаписи .htaccess для перенаправления на сайт по обычному HTTP, это будет работать нормально.Я не могу понять на всю жизнь, что я делаю неправильно, потому что, когда я тестирую сервер локально с сертификатами, он, кажется, работает нормально по HTTPS (то есть https://localhost:3000, даже если браузер говорит, что сертификат недействителен),Любая идея, в чем проблема и в любом случае, чтобы получить соответствующие журналы из node.js?